बुलियन संदर्भात (एक 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 || निवडणे.