JS : Javascript 判断对象是否包含属性或为自有属性
• 2024-08-24 • 文章类别: JavaScript • 阅读量:273
在 Javascript 中你可能需要判断对象是否包含特定属性,或者该属性是否为自有属性。
本文将为您介绍如何在 JS 判断对象是否包含属性,或者该属性是否为自有属性。
前提知识
JS 中对象的属性分为如下两种:
-
继承属性:是从所有父类继承来的属性。
-
自有属性:自身对象新定义的属性。
JS 中对象的继承使用原型(Prototype)定义,可以使用 __proto__: value
语法形式定义,value
必须是 null
或对象:
const person = {
name: "张三",
age: 27,
// __proto__ 设置了 [[Prototype]]。它继承了一个对象, address 为继承属性
__proto__: {
address: "街道",
},
};
JS 判断对象是否包含属性
JS 判断对象是否包含属性,这里的属性即包括继承属性也包括自有属性。
使用 Javascript 内置的 in 关键字,判断 js 对象是否包含属性,示例如下:
console.log("name" in person) // true,表示包含属性
console.log("address" in person) // true,表示包含属性
JS 判断对象是否为自有属性
使用对象的继承方法 hasOwnProperty()
或者 Object 对象的静态方法 Object.hasOwn(),判断 js 对象是否包含属性,示例如下:
console.log(person.hasOwnProperty("name")) // true,表示是自有属性
console.log(Object.hasOwn(person, "name")) // true,表示是自有属性
console.log(person.hasOwnProperty("address")) // fasle,表示不是自有属性
console.log(Object.hasOwn(person, "address")) // fasle,表示不是自有属性
结语
本文介绍了在 Javascript 中如何判断对象是否包含属性,或属性是否是自有属性的方法。
0 评论