V boolovském kontextu (if, &&, ||, !) je každá hodnota považována za buď pravdivou nebo nepravdivou. Existuje přesně 8 nepravdivých hodnot — vše ostatní je pravdivé.
Nepravdivé hodnoty: , , , (BigInt nula), (prázdný string), , , .
V boolovském kontextu (if, &&, ||, !) je každá hodnota považována za buď pravdivou nebo nepravdivou. Existuje přesně 8 nepravdivých hodnot — vše ostatní je pravdivé.
Nepravdivé hodnoty: , , , (BigInt nula), (prázdný string), , , .
Knihovna IT otázek k pohovoru s podrobnými odpověďmi — od Junior po Senior.
Přispětfalse0-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!
Překvapení: "0", [] a {} jsou všechny pravdivé, i když vypadají "prázdné".
const name = input || "guest"; // ❌ if input is "" or 0, falls back to "guest"
const count = input ?? 0; // ✅ ?? only falls back on null/undefined
|| se vrátí na fallback pro jakoukoli nepravdivou hodnotu, takže platné 0 nebo "" se nahradí. Operátor nullish coalescing ?? se vrátí na fallback pouze pro null/undefined, což je obvykle to, co skutečně chcete.
Znalost přesné sady nepravdivých hodnot zabraňuje jemným chybám — zvláště ochrana čísel (if (count > 0) ne if (count)) a volba ?? versus || pro výchozí hodnoty.