JS проверка существования объекта
Проверить существование объекта можно с
помощью оператора typeof
. Если
переменная представляет собой объект, то
typeof
вернет 'object'
.
Пример использования:
let obj;
if (typeof obj === 'object') {
console.log('+++');
} else {
console.log('---');
}
Проверка существования свойства объекта
Оператор in
возвращает true
,
если указанное свойство существует в
объекте, и false
- если нет. Для
примера проверим, существует ли в объекте
свойство 'a'
:
let obj = {a: 1, b: 2, c: 3};
if ('a' in obj) {
console.log('свойство существует');
} else {
console.log('свойство не существует');
}
Использование метода hasOwnProperty
Метод hasOwnProperty
позволяет
проверить, является ли указанное свойство
непосредственно собственностью данного
объекта, а не унаследовано от его прототипа.
Давайте посмотрим на практике. Пусть у нас
есть следующий объект:
let obj = {
name: 'john',
sayName: function() {
console.log(this.name);
}
};
Проверим, его свойство name
собственное
или нет:
if (obj.hasOwnProperty('name')) {
console.log('+++');
} else {
console.log('---');
}