బూలియన్ సందర్భంలో (ఒక 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) కాదు) మరియు డిఫాల్ట్ల కోసం ?? వర్సెస్ || ని ఎంచుకోవడం.