javascript - JavaScript 中 hasOwnProperty 中的属性是什么?

标签 javascript object hasownproperty es2022

考虑:

if (someVar.hasOwnProperty('someProperty') ) {
 // Do something();
} else {
 // Do somethingElse();
}

hasOwnProperty('someProperty') 的正确用法/解释是什么?

为什么我们不能简单地使用 someVar.someProperty 来检查对象 someVar 是否包含名称为 someProperty 的属性?

在这种情况下什么是属性?

这个 JavaScript 检查什么属性?

最佳答案

hasOwnProperty 返回一个 bool 值,指示您调用它的对象是否具有参数名称的属性。例如:

var x = {
    y: 10
};
console.log(x.hasOwnProperty("y")); //true
console.log(x.hasOwnProperty("z")); //false

但是,它不查看对象的原型(prototype)链。

当您使用 for...in 构造枚举对象的属性时,使用它很有用。

如果您想查看完整的详细信息,ES5 specification一如既往,是一个值得一看的好地方。

关于javascript - JavaScript 中 hasOwnProperty 中的属性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396569/

相关文章:

object - 为什么 JVM GC 喜欢不可变对象(immutable对象)?

javascript - AngularJS - 您是否从服务/工厂返回 promise 或数据?

javascript - React-Router NavLink 更改 Material-UI ListItem 上的波纹颜色

javascript - 使用通过 ajax 加载的选择器

javascript - 将对象值动态添加到 <p> 标签内的 div

javascript - Node.js:为什么调用 hasOwnProperty 与 global.hasOwnProperty 不同?

javascript - Html 表格拆分列一分为二?

Java链表-如何复制数据?

javascript - 使用ES6代理来捕获Object.hasOwnProperty

javascript - 即使属性存在,Node.js hasOwnProperty 也不起作用