JavaScript判断对象中是否含有某个属性
判断对象中是否含有某个属性也是实际项目中常见的场景,现总结如下几种方法来判断。
本文关联文章之JavaScript遍历对象的几种方法
一、点( . )或者方括号( [ ] ) + undefined判断
我们知道,通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回 undefined。这种方式可以判断指定对象的自有属性和继承属性,如果对象自身没有检测的属性,而原型链上有该属性,则会返回原型链上的属性值。
// 创建对象 let obj = { name: ‘Scarlett‘, age: 37 } console.log(obj.name !== undefined) // true 自身属性存在 console.log(obj[‘name‘] !== undefined) // true console.log(obj.gender !== undefined) // false gender属性不存在 // 在原型上添加一个可枚举属性 Object.prototype.nationality = ‘America‘ // 在obj对象上添加一个不可枚举属性 Object.defineProperty(obj, ‘occupation‘, { value: ‘actress‘, enumerable: false }) console.log(obj.nationality !== undefined) // true console.log(obj[‘occupation‘] !== undefined) // true