如何判断一个类的属性来自自身还是原型链
原型链上继承过来的属性不能被hasOwnProperty
检测到会返回 false
function Person(name) {
this.name = name
}
let obj = new Person('Tom')
Person.prototype.gender = 'male'
Person.prototype.code = 23
function propertyFormPrototype(obj, prop) {
return !obj.hasOwnProperty(prop) && prop in obj
}
console.log(propertyFormPrototype(obj, 'name')) // false
console.log(propertyFormPrototype(obj, 'code')) // true