Falske værdier i JavaScript

Beskrivelse

En falsk værdi er noget, der evalueres til FALSK, for eksempel når man kontrollerer en variabel. Der er kun seks falsey værdier i JavaScript: undefined, null, NaN, 0, ""(tom streng), og falseselvfølgelig.

Kontrollerer for falske værdier på variabler

Det er muligt at kontrollere en falsk værdi i en variabel med en simpel betinget:

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

Generelle eksempler

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

Sjov med arrays

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

Advarsel

Vær opmærksom på datatypen, når du vurderer en værdi i en boolsk sammenhæng. Hvis datatypen for værdien er beregnet til at være et tal , kan sandhed / falsk evaluering resultere i et uventet resultat:

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

Et alternativ til ovenstående brugssag er at evaluere værdien ved hjælp af typeof:

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

Mere information

  • sandfærdig | Blogindlæg - Truthy & Falsey
  • Falsy | Ordliste | MDN
  • Sandhed og falskhed: Når alt ikke er lige i JavaScript