I Shar

I Shar

мир глазами веб-разработчика

Есть ли свойство в объекте

Как проверить объект на наличие определенного ключа свойства

I Shar

время чтения 1 мин.

Photo by Peter Broomfield on Unsplash

Итак, у нас есть JavaScript-объект. Проверить, есть ли в нем ключ (key) нужного нам свойства можно с помощью оператора in.

Разберем пример.

Допустим, у нас есть объект car:

const car = {
  color: 'blue'
}

С помощью оператора in мы можем проверить - существует ли для этого объекта свойство color:

'color' in car // true

Полагаю, что в сочетании с таким выражением вполне разумно использовать оператор выбора:

if ('color' in car) {
}


Другой способ определения существования определенного свойства для объекта - метод hasOwnProperty():

car.hasOwnProperty('color')

Нужно знать, что оператор in вернет true даже в случае, когда свойство наследуется от родительских объектов. В свою очередь, метод hasOwnProperty() будет истиной только в случае, когда свойство создано непосредственно для целевого объекта, без учета наследования чего-либо от предков.


Так же, полезно использовать механизм возврата к значению по умолчанию, если нужное свойство для объекта отсутствует.

Например:

car.brand || 'Ford'

Если свойство с ключом brand для объекта car не найдено, будет установлено значение по умолчанию Ford.


Спасибо за внимание.

    • frontend
    • js

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.