代码语言:javascript复制
const d = {};
Object.defineProperties(d, {
name: {
value: "Locky",
writable: false,
enumerable: false,
configurable: false,
},
})
- in
缺点:可以拿到原型上的属性和方法
'age' in d ➡️ false
'name' in d ➡️ true
'valueOf' in d ➡️ true
- hasOwnProperty
d.hasOwnProperty('age') ➡️ false
d.hasOwnProperty('name') ➡️ true
d.hasOwnProperty('valueOf') ➡️ false
- Reflect.has
缺点:可以拿到原型上的属性和方法
Reflect.has(d, 'age') ➡️ false
Reflect.has(d, 'name') ➡️ true
Reflect.has(d, 'valueOf') ➡️ true