Выбор ответа Junior Типы и приведение обновлено

Зачем пишут x == null

Вопрос

В коде встречается проверка if (value == null). Для каких значений value условие истинно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Для null и undefined. По правилам == значения null и undefined равны друг другу и не равны больше ничему: null == 0 и null == '' дают false.

Варианты ответа

  1. Только для null
  2. Для null, undefined, 0 и ''
  3. Для null и undefinedправильный ответ
  4. Для всех ложных значений

Разбор

По правилам == значения null и undefined равны друг другу и не равны больше ничему: null == 0 и null == '' дают false. Поэтому x == null это короткая и законная проверка «значения нет», её разрешают даже строгие линтеры (опция eqeqeq: smart). Только null поймала бы проверка ===. Все ложные значения ловит !value, а не == null.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме