Проверить наличие ключа JS

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

javascriptlet obj = {
  name: 'john',
  surn: 'smit',
};

Рассмотрим способы проверки наличия ключа в объекте.

Прямая проверка

Можно проверить наличия ключа с помощью прямой проверки:

javascriptif (obj['key'] !== undefined) {
  console.log('ключ существует')
} else {
  console.log('ключа нет')
}

Оператор in

Можно проверить наличия ключа с помощью оператора in. Он работает следующим образом: если ключ существует в объекте, он вернет true, иначе - false. Пример использования:

javascriptif ('key' in obj) {
  console.log('ключ существует')
} else {
  console.log('ключа нет')
}

Метод hasOwnProperty

Метод hasOwnProperty проверяет, принадлежит ли ключ самому объекту, а не наследован через прототипа. Он возвращает true если ключ принадлежит объекту и false если нет. Пример использования:

javascriptif (obj.hasOwnProperty('key')) {
  console.log('ключ существует в объекте')
} else {
  console.log('ключа нет')
}