ਇੱਕ ਬੁਲੀਅਨ ਸੰਦਰਭ ਵਿੱਚ (ਇੱਕ if, &&, ||, !), ਹਰੇਕ ਮੁੱਲ ਨੂੰ truthy ਜਾਂ falsy ਦੇ ਰੂਪ ਵਿੱਚ ਦੇਖਿਆ ਜਾਂਦਾ ਹੈ। ਬਿਲਕੁਲ 8 falsy ਮੁੱਲ ਹਨ — ਬਾਕੀ ਸਭ ਕੁਝ truthy ਹੈ।
Falsy ਮੁੱਲ: , , , (BigInt ਜ਼ੀਰੋ), (ਖਾਲੀ ਸਟ੍ਰਿੰਗ), , , ।
ਇੱਕ ਬੁਲੀਅਨ ਸੰਦਰਭ ਵਿੱਚ (ਇੱਕ if, &&, ||, !), ਹਰੇਕ ਮੁੱਲ ਨੂੰ truthy ਜਾਂ falsy ਦੇ ਰੂਪ ਵਿੱਚ ਦੇਖਿਆ ਜਾਂਦਾ ਹੈ। ਬਿਲਕੁਲ 8 falsy ਮੁੱਲ ਹਨ — ਬਾਕੀ ਸਭ ਕੁਝ truthy ਹੈ।
Falsy ਮੁੱਲ: , , , (BigInt ਜ਼ੀਰੋ), (ਖਾਲੀ ਸਟ੍ਰਿੰਗ), , , ।
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 ਸੈੱਟ ਨੂੰ ਜਾਣਨਾ ਸੂਖਮ ਬਗਜ਼ ਨੂੰ ਰੋਕਦਾ ਹੈ — ਖਾਸ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਆ ਸੰਖਿਆ (if (count > 0) ਨਹੀਂ if (count)) ਅਤੇ ?? ਬਨਾਮ || ਮੂਲ ਮੁੱਲਾਂ ਲਈ ਚੁਣਨਾ।