如何判断对象里有某个属性

2023-06-07 09:08:12 浏览数 (1)

代码语言: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

0 人点赞