مقدارهای بولی
رشته را بُریدید و جستجو کردید. برنامه گاهی فقط به یک جواب بله یا خیر نیاز دارد — فرم آماده است؟ چیزی پیدا شد؟ همان جواب یک مقدار بولی است: فقط true یا false. اینجا خودِ مقدار را میشناسیم؛ شاخهبندی با if جلسهٔ جداست.
مقدار بولی در JavaScript چیست؟
بولی یعنی بله/خیر. دو کلمهٔ کلیدی true و false هستند — بدون گیومه. typeof true میشود "boolean". میتوانید پرچم نگه دارید (let ready = true)، از مقایسه بولی بگیرید (age >= 18)، یا با Boolean(value) مقدار دیگری را تبدیل کنید. رشتههایی مثل "true" هنوز متناند، نه بولی. یک فهرست کوتاه falsy (چیزهایی که با تبدیل false میشوند) کمک میکند با 0، ""، null و undefined غافلگیر نشوید.
جعبهٔ ابزار بولی
📊 ایدههای روزمرهٔ بولی برای شروع
| مفهوم | نمونه | نتیجه / نکته |
|---|---|---|
| بلهٔ تحتاللفظی | true |
کلمهٔ کلیدی، نه رشته |
| خیر تحتاللفظی | false |
کلمهٔ کلیدی، نه رشته |
typeof |
typeof false |
"boolean" |
| مقایسه | 5 > 3 |
true |
| تبدیل | Boolean(0) |
false (صفر معمولاً falsy است) |
| تبدیل متن | Boolean("hi") |
true (رشتهٔ غیرخالی) |
true و false را بنویسید
از کلمات کلیدی true و false استفاده کنید. هم مقدار را لاگ کنید هم typeof را تا برچسب "boolean" را ببینید.
let ready = true;
let done = false;
console.log(ready);
console.log(done);
console.log(typeof ready);
console.log(typeof done);
مقایسه خودش بولی برمیگرداند
عملگرهایی مثل >، <، >=، <=، === و !== جوابشان true یا false است. لازم نیست هر بار بولی را دستی بسازید — خودِ مقایسه آن را میسازد.
console.log(10 > 5);
console.log(2 === 2);
console.log(2 === "2");
console.log(7 < 3);
با Boolean() تبدیل کنید
Boolean(value) مقدار دیگر را به true یا false تبدیل میکند. چیزهای «خالیمانند» معمولاً false میشوند؛ خیلی از مقدارهای روزمره true.
console.log(Boolean(1));
console.log(Boolean(0));
console.log(Boolean("hello"));
console.log(Boolean(""));
نقشهٔ کوتاه falsy
اینها وقتی به Boolean() بدهید (یا بعداً در شرط بیایند) false میشوند: false، 0، ""، null، undefined و NaN. تقریباً هر چیز دیگری که اول امتحان میکنید truthy است — حتی "0" و "false" چون رشتهٔ غیرخالیاند.
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
truthyهایی که تازهکار را غافلگیر میکند
رشتهٔ غیرخالی truthy است — حتی "0" و "false". عدد 1 هم truthy است. اینها را لاگ کنید تا فرق با falsy جا بیفتد.
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(1));
console.log(Boolean(" "));
پرچم بله/خیر را روی صفحه نشان دهید
یک بولی نگه دارید و با textContent همان را روی صفحه بنویسید.
<!DOCTYPE html>
<html>
<head>
<title>Booleans — ready flag</title>
</head>
<body>
<p id="out">…</p>
<script>
let ready = true;
document.getElementById("out").textContent = "ready = " + ready;
</script>
</body>
</html>
پاراگراف مقدار بولی را روی صفحه نشان میدهد (ready = true یا ready = false). فقط ready را عوض کنید، صفحه را تازه کنید و ببینید متن عوض شده. بعداً همین پرچم داخل if کامل به کار میرود.
خودتان امتحان کنید
let on = trueوlet off = falseبسازید؛ هر دو مقدار و هر دوtypeofرا لاگ کنید.8 >= 8،3 !== 4و1 === "1"را لاگ کنید؛ قبل از اجرا حدس بزنید.- روی
1،0،"ok"و""تابعBooleanرا صدا بزنید؛ بنویسید کدامهاtrueاند. Boolean("0")وBoolean(0)را لاگ کنید — رشته truthy است، صفر عددی falsy.- در دمو HTML مقدار
readyراfalseکنید، تازه کنید و خط جدید را بخوانید. - متن قبل از
+ readyرا کوتاه عوض کنید؛ منطق بولی همان بماند.
اشتباههای رایج
- نوشتن
"true"یا"false"با گیومه — اینها رشته هستند، نه بولی - نوشتن
True/Falseبا حرف بزرگ — در JavaScript کلمات کلیدی کوچکاند:true/false - فکر کردن که
1و0خودِ نوع بولیاند — عددند؛ تبدیل ممکن است نقشهشان کند، ولیtypeof 1میشود"number" - فراموش کردن که مقایسه خودش بولی برمیگرداند — اغلب نتیجه را نگه میدارید:
let ok = score >= 10 - حساب کردن رشتهٔ غیرخالی
"false"بهعنوان falsy —Boolean("false")برابرtrueاست
خلاصه
- بولی فقط
trueیاfalseاست (کلمهٔ کلیدی، بدون گیومه) typeofبرچسب"boolean"میدهد؛ مقایسههایی مثل===و>خودشان بولی برمیگردانندBoolean(value)تبدیل میکند؛ چند falsy رایج:0،""،null،undefined،false،NaN- رشتههای
"true"/"false"متناند — نوع بولی نیستند - بعدی:
nullوundefined— دو جور «خالی» که بولی نیستند
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود