美文网首页
检测对象是否存在某个属性

检测对象是否存在某个属性

作者: 一蓑烟雨任平生_cui | 来源:发表于2018-02-01 15:06 被阅读0次

检测obj是否存在name属性。

let obj = {name: "MIke"}

1.in 关键字

不仅可以检测到对象自身的属性,还可以检测继承属性,比如 toString

"name" in obj  // true 自身属性 
"toString" in obj  // true 继承自其原型的属性

2. hasOwnPropertyOf()方法

该方法只能检测自身属性,不能检测继承属性

obj. hasOwnProperty('name')   // true 自身属性
obj. hasOwnProperty('toString') // false 继承属性

3. 直接获取属性值(undefined判断)

自身属性和继承属性都可以检测

obj.name !== undefined   // false 则不存在
obj.toString !== undefined  //true  存在

但是这种方式的不足之处是,如果name的值就是undefined
如:

obj = {name: undefined};
obj.name !== undefined // false  属性存在(undefined)但结果仍为false

4. 用if判断

if(obj.name)

相关文章

网友评论

      本文标题:检测对象是否存在某个属性

      本文链接:https://www.haomeiwen.com/subject/wnydzxtx.html