MozillaはhasOwnProperty docオブジェクト内のプロパティにhasOwnProperty()は、再定義された継承されたメソッド(toString())に対してtrueを返しますが、Mozilla docsはそうではないと言いますか?
割り当てがオブジェクトインスタンスに属するものとしてプロパティを表示するためにデバッガを引き起こすであろうと言います。これは "hasOwnProperty"が真であることを意味しません。 プロパティがプロトタイプから継承されるとき、オブジェクトに独自のコピーがある場合でも、 "hasOwnProperty()"はfalseです。試験する
新しいオブジェクト(o
)において、Iは、再定義されたObject.prototype.toString()
方法下記のように:
o = new Object();
o.toString = function(){
console.log("ToString redefined");
}
Object.toString();
o.hasOwnProperty('toString');
AFAIU、toString()
は、再定義され、それは継承されたプロパティのためfalse
を返す必要があり、それtrue
を返します。親切に説明しますか?誰かが例で次のように説明できる場合
また、それは素晴らしいことだ:オブジェクト内のプロパティに
割り当てはデバッガがオブジェクトインスタンスに属するものとしてプロパティを表示するようになります。これは "hasOwnProperty"が真であることを意味しません。
おかげ アプリ
誰かがあなたが最近引用したセクションを追加しました:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty$compare?to=1246267&from=1226101私は彼らが何を説明しようとしているのかよくわからないが、私が懸念している限り、彼らが言っていることは間違っている。 –
私はそのセクションを削除しました:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty$compare?to=1251159&from=1248455 –