JavaScript 如何判断一个对象是否具有给定的属性 [英] How to determine whether an object has a given property in JavaScript

查看:24
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆