U boolean kontekstu (if, &&, ||, !), svaka vrijednost se tretira kao truthy ili falsy. Postoji točno 8 falsy vrijednosti — sve ostalo je truthy.
U boolean kontekstu (if, &&, ||, !), svaka vrijednost se tretira kao truthy ili falsy. Postoji točno 8 falsy vrijednosti — sve ostalo je truthy.
Falsy vrijednosti: false, 0, -0, 0n (BigInt nula), "" (prazan string), null, undefined, NaN.
if ("") {} // 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!
Iznenađenja: "0", [], i {} su svi truthy, čak i ako se čine "prazni".
const name = input || "guest"; // ❌ if input is "" or 0, falls back to "guest"
const count = input ?? 0; // ✅ ?? only falls back on null/undefined
|| pada natrag za bilo koju falsy vrijednost, pa se valjana 0 ili "" zamijeni. Nullish coalescing operator ?? pada natrag samo za null/undefined, što je obično ono što zapravo želite.
Znanja točnog skupa falsy vrijednosti sprječava suptilne greške — posebno zaštita brojeva (if (count > 0) a ne if (count)) i odabir ?? nasuprot || za zadane vrijednosti.
Knjižnica IT pitanja za razgovore za posao s detaljnim odgovorima — od Juniora do Seniora.
Doniraj