Object.hasOwnProperty()

Object.hasOwnProperty() - повертає логічне значення, яке вказує, чи містить об'єкт вказану властивість.

Синтаксис:

obj.hasOwnProperty( prop)

Параметр:

prop - рядок з назвою властивість, метод які необхідно перевірити.

Опис:

hasOwnProperty() метод об'єкту який перевіряє чи містить об'єкт вказану властивість. Кожен об'єкт, який створений від Object, успадковує метод hasOwnProperty(). Цей метод може використовуватися для визначення того, чи містить об'єкт вказану властивість як власна властивісті об'єкта; на відміну від оператора in, цей метод не перевіряє існування властивостей в ланцюжку прототипів об'єкта.

Приклад:

var b={k:4}; alert(b.hasOwnProperty("k")); //true delete b.k; alert(b.hasOwnProperty("k")); //false

Перевірка власних і успадкованих властивостей:

var o = new Object(); o.prop = 'текст'; o.hasOwnProperty('prop'); // поверне true o.hasOwnProperty('toString'); // поверне false o.hasOwnProperty('hasOwnProperty'); // поверне false

JavaScript не захищає ім'я властивості "hasOwnProperty", тобто можна створити власний метод, властивість з назвою "hasOwnProperty", тому для отримання правильного результату потрібно використовувати метод Object.hasOwn():

var foo = { hasOwnProperty: function() { return false; }, bar: 231 }; console.log( foo.hasOwnProperty('bar') ); //завжди повертає false console.log( Object.hasOwn(foo, 'bar') ); //true