对象的方法

48 阅读1分钟

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