بازگشت به مطالب

2026-04-27

Falsy values در JavaScript و Boolean casting

Falsy values مشخص هستند، اما تبدیل stringها به Boolean می‌تواند نتیجه را تغییر دهد.

در JavaScript مجموعه کوچکی از falsy values داریم:

  • undefined
  • null
  • false
  • 0، -0، NaN
  • "" (empty string)

مثال سریع:

Boolean(false); // false
Boolean(""); // false
Boolean("false"); // true

نکته کلیدی: "false" یک string غیرخالی است، پس truthy محسوب می‌شود.

وقتی داده از query params، form یا API می‌آید، parse صریح انجام دهید:

function parseBoolean(value) {
  return value === "true";
}

برای منطق حساس true/false بهتر است به implicit casting تکیه نکنید.