无论x.y
的值如何,如何判断一个对象x
是否有定义的属性y
?
我正在使用
if (typeof(x.y) !== 'undefined')
但这似乎有点笨拙。有没有更好的办法?
最佳答案
对象有属性:
如果您正在测试对象本身(不是其原型(prototype)链的一部分)上的属性,您可以使用 .hasOwnProperty()
:
if (x.hasOwnProperty('y')) {
// ......
}
对象或其原型有一个属性:
您可以使用 in
运算符来测试继承的属性。
if ('y' in x) {
// ......
}
关于javascript - JavaScript中如何判断一个对象是否具有给定的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1894792/