JavaScriptでは、削除演算子を使用して、オブジェクト内のプロパティを削除できます。
コードコピーは次のとおりです。
var t = {a:42、b:26};
console.log(t); // object {a = 42、b = 26}
TAを削除します。
console.log(t); // object {b = 26}
このプロパティ削除操作の制限は、削除演算子がオブジェクト自体のすべてのプロパティのみを削除でき、プロトタイプオブジェクトから継承されたプロパティを削除できないことです。プロトタイプオブジェクトのプロパティを削除する場合は、プロトタイプオブジェクトを明示的に取得し、プロトタイプオブジェクトで操作を実行する必要があります。
コードコピーは次のとおりです。
var o = {x:1、y:2};
var a = object.create(o);
az = 3;
console.log(a); // object {z = 3、x = 1、y = 2}
ax; //継承されたプロパティを削除できません
console.log(a); // object {z = 3、x = 1、y = 2}
az; //独自のプロパティを削除できます
console.log(a); // object {x = 1、y = 2}
.__ proto __。xを削除します。
console.log(a); // object {y = 2}
プロトタイプオブジェクトのプロパティが削除された場合、プロトタイプオブジェクトから継承されたすべてのオブジェクトが影響を受けます。
削除操作の返品値については、JavaScriptは次のルールに従います。
1.削除操作が成功した場合は、trueを返します。
2.削除操作に効果がない場合(たとえば、削除するプロパティが存在しない場合)、それもtrueを返します。
3.削除するプロパティにfalseの設定可能なプロパティがある場合、TypeRrorエラーは厳密なモードで報告され、falseは非厳格モードで返されます。
削除演算子がグローバルオブジェクトのプロパティとして機能する場合、非厳密なモードでは、コード内のグローバルオブジェクトを省略できます。
コードコピーは次のとおりです。
this.c = 42;
削除c; // this.cを削除することに等しい;
厳密なモードでは、上記の書き込み方法がSyntaxerrorエラーをスローすることに注意する必要があります。