检查Object是否存在某个属性

1. in 和 hasOwnProperty

in会检查对象和它的整条原型链,hasOwnProperty只会检查对象本身,不会检查原型链

let a = {name: 'rick'}
let b = {}
b.__proto__ = a
b.hasOwnProperty('name') // fasle
'name' in b // true

2. 用undefined判断

var o={x:1};
o.x!==undefined;        //true
o.y!==undefined;        //false

 

posted @ 2019-07-31 13:58  张啊咩  阅读(2296)  评论(0编辑  收藏  举报