JS 通过 if 判断一个对象是否具有某个属性的方法

13 min read

可以使用 hasOwnProperty() 方法来判断一个对象是否具有某个属性,该方法会返回一个布尔值,表示该对象是否具有指定属性。例:

var obj = { name: "Tom", age: 20 };
if (obj.hasOwnProperty("name")) {
  console.log("obj has name property");
}

输出结果为:obj has name property。

注意,该方法只会检查对象自身是否具有该属性,不会检查原型链上的属性。如果想要检查原型链上的属性,可以使用 in 运算符。例如:

var person = { name: "Tom", age: 20 };
var student = Object.create(person);
if ("name" in student) {
  console.log("student has name property in prototype chain");
}

输出结果为:student has name property in prototype chain。