JavaScript 如何判断一个对象是否具有给定的属性 [英] How to determine whether an object has a given property in JavaScript
本文介绍了JavaScript 如何判断一个对象是否具有给定的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
无论x.y
的值如何,如何确定对象x
是否具有定义的属性y
?
How can I determine whether an object x
has a defined property y
, regardless of the value of x.y
?
我正在使用
if (typeof(x.y) !== 'undefined')
但这似乎有点笨拙.有没有更好的办法?
but that seems a bit clunky. Is there a better way?
推荐答案
Object has property:
如果您正在测试对象本身(不是其原型链的一部分)上的属性,您可以使用 .hasOwnProperty()
:
if (x.hasOwnProperty('y')) {
// ......
}
对象或其原型有一个属性:
您可以使用 in
运算符来测试继承的属性.
Object or its prototype has a property:
You can use the in
operator to test for properties that are inherited as well.
if ('y' in x) {
// ......
}
这篇关于JavaScript 如何判断一个对象是否具有给定的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文