javascript - JavaScript中如何判断一个对象是否具有给定的属性

标签 javascript object

无论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/

相关文章:

javascript - "var self = module.exports;"是什么意思?

javascript - jQuery 搜索过滤器动画淡入/淡出重复

javascript - 如何将html中javascript的结果写入文件

javascript - 在 Javascript 中向对象原型(prototype)添加许多函数时出现性能问题?

arrays - 仅在 freemarker 中创建 "object"(无 JAVA 等)?

javascript - 如何使 mp3 文件在所有页面上连续播放?

javascript - 在应用程序之间共享数据库,无需在 Sequelize 中复制模型

javascript - 使用 jquery 保存 javascript 对象并从数据库传递 ID

javascript - 使用javascript将多个数组迭代为对象

javascript - 使用 'this' 的 Object.prototype