Ложные значения в JavaScript

Описание

Ложное значение - это то, что оценивается как ЛОЖЬ, например, при проверке переменной. Есть только шесть falsey значения в JavaScript: undefined, null, NaN, 0, ""(пустая строка), и falseконечно.

Проверка переменных на ложные значения

Проверить значение переменной на ложное можно с помощью простого условия:

if (!variable) { // When the variable has a falsy value the condition is true. }

Общие примеры

var string = ""; // <-- falsy var filledString = "some string in here"; // <-- truthy var zero = 0; // <-- falsy var numberGreaterThanZero // <-- truthy var emptyArray = []; // <-- truthy, we'll explore more about this next var emptyObject = {}; // <-- truthy

Развлечение с массивами

if ([] == false) // <-- truthy, will run code in if-block if ([]) // <-- truthy, will also run code in if-block if ([] == true) // <-- falsy, will NOT run code in if-block if (![]) // <-- falsy, will also NOT run code in if-block

Предостережение

Помните о типе данных при оценке значения в логическом контексте. Если тип данных значения должен быть числом , проверка достоверности / ложности может привести к неожиданному результату:

const match = { teamA: 0, teamB: 1 } if (match.teamA) // The following won't run due to the falsy evaluation console.log('Team A: ' + match.teamA); }

Альтернативой приведенному выше варианту использования является оценка значения с помощью typeof:

const match = { teamA: 0, teamB: 1 } if (typeof match.teamA === 'number') console.log('Team A: ' + match.teamA); }

Дополнительная информация

  • правда | Сообщение в блоге - Truthy & Falsey
  • Ложь | Глоссарий | MDN
  • Правда и ложь: когда в JavaScript не все равно