बुलियन संदर्भमा (एक if, &&, ||, !), हरेक मान truthy वा falsy को रूपमा मानिन्छ। त्यहाँ ठीक 8 falsy मानहरू छन् — अन्य सबै truthy हुन्।
falsy मानहरू: , , , (BigInt zero), (empty string), , , ।
बुलियन संदर्भमा (एक if, &&, ||, !), हरेक मान truthy वा falsy को रूपमा मानिन्छ। त्यहाँ ठीक 8 falsy मानहरू छन् — अन्य सबै truthy हुन्।
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!
आश्चर्यहरू: "0", [], र {} सबै truthy हुन्, यद्यपि तिनीहरू "खाली" जस्तो लाग्छन्।
const name = input || "guest"; // ❌ if input is "" or 0, falls back to "guest"
const count = input ?? 0; // ✅ ?? only falls back on null/undefined
|| कुनै पनि falsy मानको लागि पछाडी फर्किन्छ, त्यसैले वैध 0 वा "" बदलिन्छ। nullish coalescing अपरेटर ?? केवल null/undefined को लागि पछाडी फर्किन्छ, जो सामान्यतः तपाइँ वास्तवमा चाहनुहुन्छ।
सटीक falsy सेटको ज्ञान सूक्ष्म bugs रोक्छ — विशेषगरी संख्याहरूको सुरक्षा (if (count > 0) if (count) होइन) र defaults को लागि ?? vs || छनौट गर्ने।