hasOwnProperty 用来判断对象否有自己的某个属性。这个方法会查找一个对象是否有某个属性,但是不会去查找它的原型链。
为了判断一个对象是否包含自定义属性而不是原型链上的属性, 我们需要使用继承自 Object.prototype 的 hasOwnProperty 方法。
hasOwnProperty 是 JavaScript 中唯一一个处理属性但是不查找原型链的函数。
注意: 通过判断一个属性是否undefined是不够的。 因为一个属性可能确实存在,只不过它的值被设置为undefined。
参考地址: