hasOwnProperty() 和 in()操作符的区别
1、hasOwnProperty 只能检测对象实例属性,无法检测原型中的属性
2、in 只要能访问到的属性都可以检测到
举个栗子:
class Box{
constructor(num1,num2){
this.num1 = num1;
this.num2=num2;
}
sum(){
return num1+num2;
}
}
var box=new Box(12,88);
console.log(box.hasOwnProperty("num1"));//true
console.log(box.hasOwnProperty("num2"));//true
console.log(box.hasOwnProperty("sum"));//false
console.log("num1" in box);//true
console.log("num2" in box);//true
console.log("sum" in box);//true
console.log("say" in box);//false