Неверни стойности в JavaScript

Описание

Фалшивата стойност е нещо, което оценява на FALSE, например при проверка на променлива. Има само шест 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