Рубрики
Без рубрики

Фальсифицированные значения в JavaScript

Описание фальсифицированного значения – это то, что оценивает ложь, например, при проверке переменной. В JavaScript есть только шесть значений falsey: undefined, null, nan, 0,

Автор оригинала: FreeCodeCamp Community Member.

Описание

Фальсифицированное значение – это то, что оценивает ложь, например, при проверке переменной. В JavaScript есть только шесть значений Falsey: undefined , null , Нан , 0 , "" (пустая строка) и ложь конечно.

Проверка на фальсифицированные значения на переменных

Можно проверить фальсию значение в переменной с простым условным:

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);
}

Альтернатива к примеруемому случаю выше состоит в том, чтобы оценить значение, используя Тип :

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

Больше информации

Оригинал: “https://www.freecodecamp.org/news/falsy-values-in-javascript/”