JS проверка существования объекта

Проверить существование объекта можно с помощью оператора typeof. Если переменная представляет собой объект, то typeof вернет 'object'. Пример использования:

javascriptlet obj;

if (typeof obj === 'object') {
  console.log('+++');
} else {
  console.log('---');
}

Проверка существования свойства объекта

Оператор in возвращает true, если указанное свойство существует в объекте, и false - если нет. Для примера проверим, существует ли в объекте свойство 'a':

javascriptlet obj = {a: 1, b: 2, c: 3};

if ('a' in obj) {
  console.log('свойство существует');
} else {
  console.log('свойство не существует');
}

Использование метода hasOwnProperty

Метод hasOwnProperty позволяет проверить, является ли указанное свойство непосредственно собственностью данного объекта, а не унаследовано от его прототипа. Давайте посмотрим на практике. Пусть у нас есть следующий объект:

javascriptlet obj = {
  name: 'john',
  sayName: function() {
    console.log(this.name);
  }
};

Проверим, его свойство name собственное или нет:

javascriptif (obj.hasOwnProperty('name')) {
  console.log('+++');
} else {
  console.log('---');
}