>>> var par = {a: 1, b: 2};
undefined
>>> var ch = Object.create(par);
undefined
>>> delete ch.a
true
>>> ch
Object { a=1, b=2}
1690 次
1 に答える
4
delete が返すものを誤解しています:
プロパティが独自の構成不可能なプロパティである場合は、厳密モードでスローします (厳密でない場合は false を返します)。それ以外の場合は true を返します。( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete )
delete ch.a
a
でプロパティを見つけようとしますがch
、失敗し (そのような独自のch
プロパティがないため)、何もせずに を返します。と書いても結果は同じです。ただし、構成不可能なプロパティ (例: ) を試した場合、結果は になります。true
delete ch.foobar
delete ch.__proto__
false
于 2013-09-07T17:59:49.960 に答える