Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
06 Июл 2023
2 мин
119

Обнаружение неопределенного свойства объекта в JavaScript

В JavaScript возможно обращение к свойствам объекта, которые не были ранее определены. В этом случае, вместо ожидаемого значения, будет возвращено специальное

В JavaScript возможно обращение к свойствам объекта, которые не были ранее определены. В этом случае, вместо ожидаемого значения, будет возвращено специальное значение undefined. Иногда бывает необходимо проверить, определено ли свойство объекта или нет, и в зависимости от этого выполнять определенные действия.

Пример проблемы

Представим, что есть объект person, который может иметь свойства firstName и lastName. Но, например, в некоторых случаях lastName может отсутствовать.

var person = {
  firstName: "John"
};

При попытке обратиться к свойству lastName, будет возвращено значение undefined.

console.log(person.lastName); // undefined

Решение проблемы

Для проверки наличия свойства можно использовать оператор in или метод hasOwnProperty.

Оператор in возвращает true, если свойство находится в объекте или в цепочке его прототипов.

console.log('lastName' in person); // false

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

console.log(person.hasOwnProperty('lastName')); // false

Если нужно проверить, не только что свойство существует, но и что его значение не равно undefined, можно воспользоваться простым сравнением.

console.log(person.lastName !== undefined); // false

Использование этих методов позволяет избежать ошибок при обращении к несуществующим свойствам объекта и делает код более надежным и устойчивым к ошибкам.

Добавить комментарий