11

Javascript 厳格モードで

削除不可能なプロパティの削除は許可されていません

このような削除できないプロパティを削除しないようにするには、プロパティ Xが削除可能で、プロパティ Yが削除できないことをどのように判断しますか?

そのコンセプトは……?

4

1 に答える 1

11

そのコンセプトとは…?

プロパティ属性configurable属性が に設定されているすべてのプロパティをd にするfalseことはできませんdelete(ずさんなモードではサイレントに失敗し、厳密なモードではスローされます)。

プロパティが削除可能かどうかを調べる方法は?

Object.getOwnPropertyDescriptor()関数を使用して、属性にオブジェクトとしてアクセスできます。

var isDeletable = Object.getOwnPropertyDescriptor(obj, "propName").configurable;

objこれは、継承されたものではなく、の独自のプロパティに対してのみ機能することに注意してください。それらについては、それぞれのプロトタイプで関数を呼び出す必要があります。

于 2015-12-18T14:29:22.910 に答える