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