hasOwnProperty 对象是否有某一个属于自己的属性(不是在原型上的属性)
let obj = {
name: 'hyy'
}
let info = Object.create(obj);
info.address = 'nanchang'
console.log(info.hasOwnProperty("name"), info.hasOwnProperty("address"))//false true
in/for in 判断某个属性是否在某个对象或者对象的原型链上
let obj = {
name: 'hyy'
}
let info = Object.create(obj);
info.address = 'nanchang'
for (let key in info) {
console.log(key)//"name" "address"
}
instanceof 用于检测构造函数的prototype是否出现在某个实例的原型链上
let obj = function(name){
this.name = name
}
let info = new obj();
console.log(info instanceof obj)
isPrototypeOf 用于检测某个对象,是否是出现在某个实例原型链上
let obj = {
name: 'hyy'
}
let info = Object.create(obj)
console.log(obj.isPrototypeOf(info))//true