بولین ها (Booleans)
«بولین جاوااسکریپت (JavaScript Boolean)» فقط دو مقدار دارد: true یا false. این دو مقدار پایه «مقایسه ها (Comparisons)» و «شرط ها (Conditions)» هستند. مثل امتحان درست/غلط مدرسه؛ یا درست است یا غلط. همین!
ویژگی های اصلی بولین
true و false نوع «بولین (Boolean)» هستند، با حروف کوچک، بدون کوتیشن. بیشتر وقت ها برای پاسخ های دو حالته مثل بله/خیر یا روشن/خاموش استفاده می شوند.
برگشت مقدار در مقایسه ها
عملگرهای مقایسه مثل == و < و > همیشه بولین برمی گردانند.
let x = 5;
(x == 8);
(x != 8);
بولین در شرط ها (if)
نتیجه مقایسه تعیین می کند کدام بلوک اجرا شود.
if (hour < 18) {
greeting = "Good day";
} else {
greeting = "Good evening";
}
بولین در حلقه ها
شرط حلقه هم بولین است؛ تا وقتی true باشد، ادامه می دهد.
while (i < 10) {
text += i;
i++;
}
تابع Boolean()
با Boolean() می توان درست/غلط بودن یک عبارت را گرفت.
Boolean(10 > 9);
(10 > 9);
Truthy و Falsy ساده
هر چیزی با «ارزش» true می شود؛ بدون ارزش false می شود.
Boolean(100);
Boolean("Hello");
Boolean(0);
Boolean("");
Boolean(undefined);
Boolean(null);
Boolean(NaN);
نمونه های Falsy متداول
این ها معمولاً false برمی گردانند: 0، ""، undefined، null، NaN، خود false.
let x = 0;
Boolean(x);
x = -0;
Boolean(x);
x = "";
Boolean(x);
let y;
Boolean(y);
x = null;
Boolean(x);
x = false;
Boolean(x);
x = 10 / "Hallo";
Boolean(x);
اشیای Boolean؛ چرا نه؟
ساختن آبجکت Boolean با new گیج کننده است و نتایج عجیب می دهد. نوع ها فرق می کنند.
let a = false;
let b = new Boolean(false);
// typeof a => "boolean"
// typeof b => "object"
let c = Boolean(false);
let d = new Boolean(false);
(c == d);
(c === d);
هشدار: آبجکت ها در مقایسه مستقیم تقریباً همیشه نابرابرند. از new Boolean استفاده نکن.
گام های عملی
- یک مقایسه ساده بنویس و مقدار بولین بگیر.
- از همان بولین در if یا while استفاده کن.
- Truthy/Falsy را با Boolean(value) تست کن.
نکته: برای شرط های چندحالته از switch استفاده کن. برای توضیح کامل شرط ها به شرط ها و برای منطق ها به عملگرهای منطقی سر بزن. همچنین «بولین جاوااسکریپت» در مرجع بولین محور این صفحه است.
جمع بندی سریع
- بولین فقط true یا false است.
- مقایسه ها همیشه بولین می دهند.
- Truthy یعنی دارای ارزش؛ Falsy یعنی بی ارزش.
- از new Boolean دوری کن.
- بولین پایه if و حلقه هاست.