Javascript 有条件地删除对象的属性
我有一个对象,该对象可能具有或不具有我要删除的属性;这些属性是在运行时添加的。以下是我编写代码的方式:Javascript 有条件地删除对象的属性,javascript,javascript-objects,Javascript,Javascript Objects,我有一个对象,该对象可能具有或不具有我要删除的属性;这些属性是在运行时添加的。以下是我编写代码的方式: if (MyObject.hasOwnProperty("SomeProperty")) { delete MyObject['SomeProperty']; } 如果我删除条件以测试属性是否不存在,代码不会崩溃,但我想知道这是否仅仅是因为我在Chrome中运行它,还是因为它是有效的javascript。换句话说,我可以写删除MyObject['SomeProperty']没有.has
if (MyObject.hasOwnProperty("SomeProperty")) {
delete MyObject['SomeProperty'];
}
如果我删除条件以测试属性是否不存在,代码不会崩溃,但我想知道这是否仅仅是因为我在Chrome中运行它,还是因为它是有效的javascript。换句话说,我可以写
删除MyObject['SomeProperty']
没有.hasOwnProperty
语句,即使对象没有该属性也可以。此处的条件是不必要的。如果对象上不存在属性,delete
操作将不会执行任何操作。它也不会删除继承的属性