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

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

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

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

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