是否可以判断继承的对象属性是否被设置为未定义或根本不存在?
我有一个格式化字符串,其中包含属性名称,以及一个预期包含该属性的对象。我不在乎该属性是对象自己的还是继承的,我需要知道它是否存在,以便我可以使用它,即使它被设置为未定义,但如果它根本不存在,我需要抛出错误。
我知道这个主题已经被讨论了多少次,并且有很多关于使用的意见:
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/