F'kuntest boolean (a if, &&, ||, !), kull valur hija ttrattata bħala truthy jew falsy. Hemm eżattament 8 valuri falsy — kollox ieħor huwa truthy.
L-valuri falsy: , , , (BigInt zero), (empty string), , , .
F'kuntest boolean (a if, &&, ||, !), kull valur hija ttrattata bħala truthy jew falsy. Hemm eżattament 8 valuri falsy — kollox ieħor huwa truthy.
L-valuri falsy: , , , (BigInt zero), (empty string), , , .
false0-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!
Is-surprizez: "0", [], u {} huma kollha truthy, anke jekk jidher "vojda."
const name = input || "guest"; // ❌ if input is "" or 0, falls back to "guest"
const count = input ?? 0; // ✅ ?? only falls back on null/undefined
|| terga lura għal kull valur falsy, għalhekk valur validu 0 jew "" jinbidel. L-operatur nullish coalescing ?? terga lura biss għal null/undefined, li ħafna drabi huwa dak li verament trid.
L-għarfien tal-sett falsy eżatt jipprevjeni bugs sottili — speċjalment il-protezzjoni tan-numri (if (count > 0) mhux if (count)) u l-għażla ta' ?? vs || għal defaults.