"Object.hasOwn() 方法是 ES2022 中的一个新特性,用于检查对象自身是否具有指定属性。与 hasOwnProperty() 方法不同的是,Object.hasOwn() 方法是一个静态方法,直接通过 Object 类来调用。
const obj = { key: 'value' };
// 使用 Object.hasOwn() 方法
console.log(Object.hasOwn(obj, 'key')); // true
console.log(Object.hasOwn(obj, 'toString')); // false
// 使用 hasOwnProperty() 方法
console.log(obj.hasOwnProperty('key')); // true
console.log(obj.hasOwnProperty('toString')); // false
Object.hasOwn() 方法返回一个布尔值,表示对象自身是否具有指定属性。如果对象自身具有该属性,则返回 true;否则返回 false。与 hasOwnProperty() 方法不同的是,Object.hasOwn() 方法不会受到原型链的影响,只会检查对象自身的属性。
在开发中,Object.hasOwn() 方法可以帮助我们更准确地判断对象是否具有指定属性,避免出现意外的属性访问错误。同时,由于它是一个静态方法,可以直接通过 Object 类来调用,使用起来更加方便和清晰。
总的来说,ES2022 中的 Object.hasOwn() 方法是一个简洁实用的工具,用于检查对象自身是否具有指定属性,它的引入丰富了 JavaScript 对象操作的功能,提高了开发效率。"