06 Июл 2023
2 мин
82

Как проверить на «undefined» в JavaScript

Одной из распространенных проблем, с которой сталкиваются новички в JavaScript, является понимание и обработка неопределенных переменных. Рассмотрим

A developer puzzled by undefined variables in JavaScript.

Содержание

Одной из распространенных проблем, с которой сталкиваются новички в JavaScript, является понимание и обработка неопределенных переменных. Рассмотрим эту проблему на примере. Имеется некий код, в котором используется переменная, но она не была предварительно определена.

console.log(myVariable);

В этом случае, JavaScript выкинет ошибку «ReferenceError: myVariable is not defined», так как он не знает, что такое «myVariable».

Чтобы избежать таких ошибок, необходимо уметь правильно проверять переменные на «undefined». В JavaScript для этого есть несколько способов.

Способ 1. Сравнение с undefined

Самый простой и прямолинейный способ — прямо сравнить переменную с «undefined»:

if (myVariable === undefined) {
  // ...
}

Однако, этот способ может привести к ошибкам, если где-то в коде значение «undefined» было переопределено.

Способ 2. Использование typeof

Более безопасным способом является использование оператора «typeof», который вернет строку, описывающую тип переменной:

if (typeof myVariable === "undefined") {
  // ...
}

Этот способ гарантированно работает в любой ситуации, так как результат оператора «typeof» не может быть переопределен.

Способ 3. Проверка наличия в объекте

Если переменная является свойством объекта (например, глобального объекта «window» в браузерах), можно проверить ее наличие с помощью оператора «in»:

if (!("myVariable" in window)) {
  // ...
}

Однако, этот способ не работает для локальных переменных.

Вывод: для проверки переменных на «undefined» в JavaScript лучше всего использовать оператор «typeof».

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