ஒரு பூலியன் சூழலில் (ஒரு 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) அல்ல) மற்றும் டிஃபல்ட்களுக்கு ?? எதிரெதிர் || தேர்ந்தெடுத்தல்.