我有一个对象,可能有也可能没有我要删除的属性;在运行时添加属性。这就是我编写代码的方式:
if (MyObject.hasOwnProperty("SomeProperty")) {
delete MyObject['SomeProperty'];
}
如果我删除条件以测试该属性是否存在,代码不会崩溃,但我想知道这是否仅仅是因为我在Chrome中运行它或如果它是有效的JavaScript。换句话说,我可以在没有delete MyObject['SomeProperty'];
语句的情况下编写.hasOwnProperty
并且即使对象不具备该属性也可以正常。