javascript - 继承属性(property)检查

标签 javascript

是否可以判断继承的对象属性是否被设置为未定义或根本不存在?

我有一个格式化字符串,其中包含属性名称,以及一个预期包含该属性的对象。我不在乎该属性是对象自己的还是继承的,我需要知道它是否存在,以便我可以使用它,即使它被设置为未定义,但如果它根本不存在,我需要抛出错误。

我知道这个主题已经被讨论了多少次,并且有很多关于使用的意见:

if(prop in obj){
}

还有这个:

obj.hasOwnProperty(prop)

虽然我显然不能使用第二种方法,但当涉及到所有可能的属性值时,第一种方法似乎不可靠。

是否有可靠的方法来检查特定属性是否存在于对象内或继承中,即使其值设置为 0、null 或未定义?

最佳答案

if(prop in obj) seems unreliable when it comes to all possible property values.

没有。 in operator根本不关心这些值,它只检查属性名称。这正是您想要的。

关于javascript - 继承属性(property)检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29432309/

相关文章:

javascript - 在 qooxdoo 中测试源应用程序

javascript - 如何使用 javascript 验证用户输入(字符和数字)?

javascript - winston 的字符串插值在 Nodejs 中不起作用

javascript - 按单词相关性将数组与另一个数组中的字符串匹配

javascript - 如何检测浏览器何时放置保存的密码?

javascript - 在 JavaScript 中复制 PHP ImageMagick 的 PaintOpaqueImage 函数

javascript - 地理定位不止于 Phonegap

javascript - 使用 Jquery 计算 contentEditable 文本中的数字总和

javascript - 使用 javascript 禁用输入。检查代码

javascript - 将base64图像数据输出到新窗口而不被阻止?