I en boolsk kontekst (if, &&, ||, !) behandles hver værdi som enten sand eller falsk. Der er præcist 8 falske værdier — alt andet er sandt.
De falske værdier: , , , (BigInt nul), (tom string), , , .
I en boolsk kontekst (if, &&, ||, !) behandles hver værdi som enten sand eller falsk. Der er præcist 8 falske værdier — alt andet er sandt.
De falske værdier: , , , (BigInt nul), (tom string), , , .
Et bibliotek af IT-interviewspørgsmål med detaljerede svar — fra Junior til Senior.
Donérfalse0-00n""nullundefinedNaNif ("") {} // skipped — empty string is falsy
if (0) {} // skipped
if ("0") {} // RUNS — non-empty string is truthy!
if ([]) {} // RUNS — empty array is truthy!
if ({}) {} // RUNS — empty object is truthy!
Üvelserne: "0", [] og {} er alle sande, selvom de føles "tomme".
const name = input || "guest"; // ❌ if input is "" or 0, falls back to "guest"
const count = input ?? 0; // ✅ ?? only falls back on null/undefined
|| falder tilbage for enhver falsk værdi, så en gyldig 0 eller "" bliver erstattet. Operatoren nullish coalescing ?? falder tilbage kun for null/undefined, hvilket normalt er det, du egentlig ønsker.
At kende det præcise sæt af falske værdier forhindrer subtile bugs — især beskyttelse af tal (if (count > 0) ikke if (count)) og valg af ?? kontra || for standardværdier.