方法一:hasOwnProperty()方法 [避免原型链影响]
const obj = {
name: 'Alice',
age: 25
};
console.log(obj.hasOwnProperty('name')); // 输出 true
console.log(obj.hasOwnProperty('gender')); // 输出 false
hasOwnProperty
是JavaScript中的一个对象方法,用于检查对象是否具有指定的属性(不包括其原型链上的属性)。该方法返回一个布尔值,如果对象拥有指定名称的属性,则返回true,否则返回false。通过使用hasOwnProperty
方法,你可以更准确地判断一个对象是否拥有特定的属性,而不会受到原型链的影响。
方法二:in
运算符
const obj = {
name: 'Alice',
age: 25
};
console.log('name' in obj); // 输出 true
console.log('gender' in obj); // 输出 false
in
运算符可以用来检查对象是否具有某个属性,包括原型链上的属性。
方法三:Object.keys
const obj = {
name: 'Alice',
age: 25
};
console.log(Object.keys(obj).includes('name')); // 输出 true
console.log(Object.keys(obj).includes('gender')); // 输出 false
Object.keys
方法返回一个数组,包含对象自身的所有可枚举属性的名称。Object.keys(obj)
返回一个数组['name', 'age']
,我们可以使用includes
方法来检查目标属性是否在数组中。