我有一个对象可能有也可能没有我想删除的属性;属性是在运行时添加的。这就是我编写代码的方式:
if (MyObject.hasOwnProperty("SomeProperty")) {
delete MyObject['SomeProperty'];
}
如果我删除条件以测试属性是否不存在,代码不会崩溃,但我想知道这是否只是因为我在 Chrome 中运行它或者它是否是有效的 javascript。换句话说,我可以写delete MyObject['SomeProperty'];
吗?没有 .hasOwnProperty
语句,即使对象不具有该属性也可以。
最佳答案
这里的条件是不必要的。如果对象上不存在该属性,则 delete
操作将不执行任何操作。它也不会删除继承的属性。
关于javascript - 有条件地删除对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648880/