有条件地删除对象的属性

Deleting properties of objects conditionally

本文关键字:属性 对象 删除 有条件      更新时间:2023-09-26

我有一个对象,它可能有也可能没有我想要删除的属性;属性是在运行时添加的。这就是我写代码的方式:

if (MyObject.hasOwnProperty("SomeProperty")) {
   delete MyObject['SomeProperty'];
}

如果我删除条件来测试属性是否不存在,代码不会崩溃,但我想知道这是因为我在Chrome中运行它,还是因为它是有效的javascript。换句话说,我是否可以在不使用.hasOwnProperty语句的情况下编写delete MyObject['SomeProperty'];,并且即使对象没有属性也可以。

这里的条件是不必要的。如果对象上不存在属性,delete操作将不起任何作用。它也不会删除继承的属性。

删除文档