القيم المنطقية
قصصت النصوص وبحثت فيها. البرنامج يحتاج أحيانًا جوابًا واضحًا نعم أو لا — هل النموذج جاهز؟ هل وُجد تطابق؟ هذا النوع هو قيمة منطقية: فقط 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 قصيرة
هذه تصبح false مع Boolean() (أو لاحقًا في شرط): 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"؛ خمّن قبل التشغيل. - نادِ
Booleanعلى1و0و"ok"و""؛ سجّل أيها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— فكرتان عن «الفراغ» وليستا منطقيتين
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى