溫馨提示×

hasOwnProperty與in操作符的區別

小樊
115
2024-06-19 16:45:03
欄目: 深度學習

hasOwnProperty 方法用于檢查一個對象是否具有指定屬性,它不會沿著原型鏈查找屬性。而 in 操作符用于檢查一個對象是否具有指定屬性,包括原型鏈上的屬性。

例如,假設有一個對象 obj,它有一個屬性 prop,并且 prop 是從原型鏈繼承而來的屬性:

function Obj() {
  this.prop = 'value';
}

Obj.prototype = {
  anotherProp: 'anotherValue'
};

var obj = new Obj();

使用 hasOwnProperty 方法和 in 操作符檢查屬性 prop

console.log(obj.hasOwnProperty('prop')); // true
console.log('prop' in obj); // true

使用 hasOwnProperty 方法和 in 操作符檢查屬性 anotherProp

console.log(obj.hasOwnProperty('anotherProp')); // false
console.log('anotherProp' in obj); // true

從上面的例子可以看出,hasOwnProperty 方法只檢查對象本身的屬性,而 in 操作符在檢查時會沿著原型鏈查找屬性。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女