如何确定对象x
是否具有已定义的属性y
,而不考虑x.y
的值?
我目前正在使用
if (typeof(x.y) !== 'undefined')
但这似乎有点笨拙.有没有更好的方法?
如何确定对象x
是否具有已定义的属性y
,而不考虑x.y
的值?
我目前正在使用
if (typeof(x.y) !== 'undefined')
但这似乎有点笨拙.有没有更好的方法?
如果要测试对象本身(不是其原型链的一部分)的属性,可以使用.hasOwnProperty()
:
if (x.hasOwnProperty('y')) {
// ......
}
也可以使用in
运算符测试继承的属性.
if ('y' in x) {
// ......
}