در حال بارگذاری...

مقدارهای بولی

رشته را بُریدید و جستجو کردید. برنامه گاهی فقط به یک جواب بله یا خیر نیاز دارد — فرم آماده است؟ چیزی پیدا شد؟ همان جواب یک مقدار بولی است: فقط 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" را ببینید.

مقدارهای true و false

javascript
let ready = true;
let done = false;
console.log(ready);
console.log(done);
console.log(typeof ready);
console.log(typeof done);

مقایسه خودش بولی برمی‌گرداند

عملگرهایی مثل >، <، >=، <=، === و !== جوابشان true یا false است. لازم نیست هر بار بولی را دستی بسازید — خودِ مقایسه آن را می‌سازد.

مقایسه true یا false می‌دهد

javascript
console.log(10 > 5);
console.log(2 === 2);
console.log(2 === "2");
console.log(7 < 3);

با Boolean() تبدیل کنید

Boolean(value) مقدار دیگر را به true یا false تبدیل می‌کند. چیزهای «خالی‌مانند» معمولاً false می‌شوند؛ خیلی از مقدارهای روزمره true.

تبدیل با Boolean

javascript
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" چون رشتهٔ غیرخالی‌اند.

مقدارهای falsy که باید بلد باشید

javascript
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 جا بیفتد.

غافلگیری‌های truthy

javascript
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(1));
console.log(Boolean(" "));

پرچم بله/خیر را روی صفحه نشان دهید

یک بولی نگه دارید و با textContent همان را روی صفحه بنویسید.

صفحه پرچم ready را نشان می‌دهد

html
<!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 کامل به کار می‌رود.

خودتان امتحان کنید

  1. let on = true و let off = false بسازید؛ هر دو مقدار و هر دو typeof را لاگ کنید.
  2. 8 >= 8، 3 !== 4 و 1 === "1" را لاگ کنید؛ قبل از اجرا حدس بزنید.
  3. روی 1، 0، "ok" و "" تابع Boolean را صدا بزنید؛ بنویسید کدام‌ها trueاند.
  4. Boolean("0") و Boolean(0) را لاگ کنید — رشته truthy است، صفر عددی falsy.
  5. در دمو HTML مقدار ready را false کنید، تازه کنید و خط جدید را بخوانید.
  6. متن قبل از + 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 — دو جور «خالی» که بولی نیستند

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود