javascript - 有条件地删除对象的属性

标签 javascript javascript-objects

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

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

如果我删除条件以测试属性是否不存在,代码不会崩溃,但我想知道这是否只是因为我在 Chrome 中运行它或者它是否是有效的 javascript。换句话说,我可以写delete MyObject['SomeProperty'];吗?没有 .hasOwnProperty语句,即使对象不具有该属性也可以。

最佳答案

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

Delete Documentation

关于javascript - 有条件地删除对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648880/

相关文章:

javascript - 在链接点击时在屏幕上显示消息,直到重定向

javascript - 将项目添加到函数内的对象

javascript - 如何检查在 Javascript 中作为参数传递的回调函数是否有参数?

javascript - 对象内函数内对象字面量的范围

JavaScript 和 JQuery : promises executing in unexpected order

javascript - Firebase 数据库 javascript set() 不写

javascript - 如何将在扩展菜单中输入的数据发送到另一个文件

javascript - 在另一个页面的div中加载不同页面的innerhtml

javascript - IFrame 和视频流消耗我的网站带宽?

javascript - 是否可以通过循环数组来填充对象实例?