Чем отличается Object.hasOwn и Object.prototype.hasOwnProperty — Q&A Хекслет
2026-02-26 23:16 Diff

Ответы

Оба метода Object.hasOwn() и Object.hasOwnProperty() проверяют существование ключа в объекте. Они возвращают true, если указанный объект имеет собственное свойство, которое было передано. Если свойство унаследовано или не существует, метод возвращает false.

Object.hasOwn() более современный метод, он пришел на замену Object.hasOwnProperty(). Рекомендуется использовать его вместо hasOwnProperty(), так как он работает для объектов, созданных с помощью Object.create(null) и для объектов, которые переопределили унаследованный hasOwnProperty() метод:

Согласен с Егором:

тут наш копирщик

const person2 = Object.create({ gender: 'male' }); console.log(Object.hasOwn(person2, 'gender')); // => false console.log(person.hasOwnProperty('gender')); // => false

забыл "скопировать" комментарий. Администрация вообще не следит за наполнением?

Всё в одном месте, не вижу ничего плохого