例子
const flower = {
name: 'peony',
color: 'red'
}
1.in 运算符
'name' in flower // true
'size' in flower // false
缺点:不能判断是不是自身属性
2.hasOwnProperty()
flower.hasOwnProperty('name') // true
flower.hasOwnProperty('size') // false
3.原型链上hasOwnProperty()
Object.prototype.hasOwnProperty.call(flower, 'name') //true
Object.prototype.hasOwnProperty.call(flower, 'size') //false
4.Object.keys() 适用可枚举属性
Object.keys(flower).includes('name') //true
Object.keys(flower).includes('size') //false
Object.keys(flower).indexOf('name') //true
Object.keys(flower).indexOf('size') //false
5.直接获取属性
flower.name !== undefined //true