修复“不要从目标对象访问 Object.prototype 方法‘hasOwnProperty’”错误

dra*_*035 13 hasownproperty

根据hasOwnProperty()方法文档,我写了以下内容:

const myObj = {
  prop1: 'val1',
  prop2: 'val2'
}

if (!myObj.hasOwnProperty('prop3')) {
  myObj.prop3 = 'val3'
}
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

不要从目标对象访问 Object.prototype 方法“hasOwnProperty”

如果与文档中的相同,为什么它不起作用,以及如何修复它?

小智 2

使用静态Object.hasOwn()代替:

const myObj = {
  prop1: 'val1',
  prop2: 'val2'
}

if (!Object.hasOwn(myObj, 'prop3')) {
  myObj.prop3 = 'val3'
}

console.log(Object.keys(myObj)); //returns [ 'prop1', 'prop2', 'prop3' ]
console.log(myObj.prop3); //returns val3

Run Code Online (Sandbox Code Playgroud)

Object.hasOwn()旨在替代Object.prototype.hasOwnProperty() HasOwn

  • hasOwn 在类型上不存在... (5认同)