問題タブ [hasownproperty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - コンストラクター関数とインスタンスで hasOwnProperty の動作が異なるのはなぜですか?
hasOwnProperty は、コンストラクター関数またはインスタンスのどちらで呼び出されるかによって、含まれるメンバーに対する this または let の使用に応じて、異なる動作をするようです。
これにより、次が出力されます。
これはなぜですか?コンストラクター関数で「let」を使用すると「プライベート」メンバーがエミュレートされることを理解しています.彼らのメソッドを「所有」しないでください。
javascript - Javascript HasOwnProperty ポリフィル
これはばかげた不必要な質問のように聞こえるかもしれませんが、実際にはそうではありません。
https://caniuse.com/?search=Hasownpropertyは、追跡されたデスクトップ クライアントのサポートの 100% を示しています。これは予想どおりです。しかし、追跡対象のモバイル クライアントへの切り替えは、衝撃的なわずか 95.4% のサポートを示しています。これは、モバイル クライアントがデスクトップのクライアントと同等か、それを上回っていることを考えると、現在Web ページにアクセスしているすべてのクライアントの約 2.5% がhasOwnProperty
ネイティブにサポートされていないことを意味します。
jQuery、Modernizr、および Crockford の json2.js 参照を含む多数のサードパーティ ライブラリが参照hasOwnProperty
し、それをポリフィルしないことを考えると、これをポリフィルすることは非常に重要です。
hasOwnProperty
仕様に従ってポリフィルする方法を探しています。ループを使用して (間違ってはいますが) 浅くポリフィルすることはできますが、継承されたプロパティfor in
には戻りません。false