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('---'); }