المعاملات المنطقية
المقارنة أعطتك جواباً واحداً بنعم أو لا. في العمل الحقيقي غالباً تحتاج عدة أجوبة معاً: هل العمر كافٍ و الدرجة مرتفعة؟ هل هو عضو أو يسمح للضيف؟ الأدوات التي تربط هذه الأجوبة أو تقلبها هي المعاملات المنطقية: && و || و !. تعرف مسبقاً truthy و falsy؛ هنا تتعلم قراءة الرموز الثلاثة اليومية وتثق بالمنطقي boolean الذي تنتجه.
ما هو المعامل المنطقي؟
يعمل المعامل المنطقي مع قيم شبيهة بالمنطقي. لا يخزّن في اسم (=) ولا يسأل «هل القيمة نفسها؟» (===). هو يجمع نتائج نعم/لا أو يقلبها. بعد true && false تكون النتيجة false. بعد true || false تكون true. بعد !false تكون true. يمكنك تسجيل هذا boolean أو حفظه في متغير أو كتابته في الصفحة.
نظرة سريعة على المعاملات
📊 المعاملات المنطقية اليومية
| المعامل | القراءة اليومية | نتيجة نموذجية |
|---|---|---|
&& |
هل يمرّ الطرفان؟ | true && true → true |
! |
اقلب نعم/لا | !false → true |
أبقِ هذا الجدول قريباً. للمبتدئين، غذِّ هذه المعاملات بـقيم منطقية واضحة من مقارنات (age >= 18) أو الحرفيين true / false. القيم الأخرى تُعدّ truthy أو falsy أيضاً، لكن البدء بنعم/لا صادقة يقلل الأخطاء.
console.log(true && true);
console.log(true && false);
console.log(false && true);
console.log(false && false);
let ok = true;
console.log(ok && true);
&& يحتاج الطرفين
علامتا & تعنيان «و». يجب أن يكون الطرفان truthy حتى تكون العبارة كلها truthy. إن فشل اليسار فالجواب المركّب «لا» من البداية — لا يوجد «نصف نعم».
تطبع وحدة التحكم true ثم false ثم false ثم false ثم true. يمرّ السطران الأول والأخير فقط بكلا الطرفين. فكّر بباب بقفلَين: يجب أن يعمل المفتاحان.
console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);
let guest = false;
console.log(guest || true);
|| يكفي طرف واحد
الخطّان العموديان يعنيان «أو». إن كان أي طرف truthy فالعبارة كلها truthy. لا تحصل على false إلا عندما يفشل الطرفان.
ترى true ثم true ثم true ثم false ثم true. السطر الرابع وحده فشل كامل. مسار واحد مفتوح يكفي — كباب بمفتاحين منفصلين يفتح أي منهما الباب.
console.log(!true);
console.log(!false);
let ready = false;
console.log(!ready);
let open = true;
console.log(!open);
! يقلب الجواب
! واحدة أمام العبارة تعني «ليس». يتحول truthy إلى falsy والعكس. يفيد !ready عندما تريد «ألم يصبح جاهزاً بعد؟» دون إعادة كتابة مقارنة أطول.
تطبع وحدة التحكم false ثم true ثم true ثم false. كانت ready تساوي false فـ!ready تساوي true. كانت open تساوي true فـ!open تساوي false.
let age = 20;
let score = 75;
console.log(age >= 18 && score >= 60);
console.log(age >= 18 && score >= 90);
let member = false;
let pass = true;
console.log(member || pass);
اربط المقارنات في فحص واحد
المنطق اليومي يلفّ غالباً نتائج المقارنة. age >= 18 && score >= 60 يطرح سؤالَي ترتيب ثم يربطهما بـ«و». member || pass يسأل إن كان أحد المسارين مفتوحاً. اترك === / >= للأسئلة و&& / || لجمع الأجوبة.
let age = 20;
let score = 75;
let allowed = age >= 18 && score >= 60;
console.log(allowed);
let member = false;
let guestOk = true;
let enter = member || guestOk;
console.log(enter);
allowed تساوي true (يمرّ الفحصان). enter تساوي true لأن مسار الضيف مفتوح رغم أن member تساوي false. التعبير المنطقي أنتج الـboolean — أنت فقط أعطيته اسماً.
اعرض بوابة في الصفحة
احسب منطقاً مركّباً واحداً ثم اكتب تسمية قصيرة في الصفحة.
<!DOCTYPE html>
<html>
<head>
<title>Logical — page gate</title>
</head>
<body>
<p id="out">…</p>
<script>
let age = 20;
let score = 75;
let allowed = age >= 18 && score >= 60;
let box = document.getElementById("out");
box.textContent = "allowed=" + allowed;
</script>
</body>
</html>
age تساوي 20 وscore تساوي 75 فيمرّ طرفا && وتظهر الصفحة allowed=true. اخفض score إلى 50 وحدّث الصفحة لترى allowed=false. الدروس اللاحقة تتفرع بـif؛ هذا العرض يطبع فقط نعم/لا المركّبة.
جرّب بنفسك
- سجّل
true && falseوtrue || false. - سجّل
!falseو!true. - عيّن
let age = 16وسجّلage >= 18 && age < 65. - عيّن
let age = 30وسجّل نفس فحص المدى. - قارن
false || trueبجانبfalse && trueولاحظ الفرق. - في عرض HTML غيّر
scoreفقط، حدّث الصفحة، واقرأ نصallowed=الجديد.
أخطاء شائعة
- كتابة
&أو|مفردة — المبتدئ يريد&&و|| - استخدام
&&وأنت تقصد===(جمع مقابل «نفس القيمة؟») - توقع أن
&&يقارن رقمين وحده — لفّ كل طرف بمقارنة أولاً - نسيان أن
!يقلب المنطقي كله أمامه - إدخال قيم مشوشة قبل أن تقرأ truthy/falsy بهدوء — ابدأ بنتائج مقارنة واضحة
ملخص
- المعاملات المنطقية تجمع نتائج نعم/لا أو تقلبها
&&يحتاج الطرفين؛||يحتاج واحداً على الأقل؛!يقلب- اربط نتائج المقارنة (
age >= 18 && score >= 60) للفحوص اليومية - احفظ الـboolean إن أردت اسماً؛ اعرضه في الصفحة إن أردت تسمية
- رموز المقارنة والرموز المنطقية وظائف مختلفة
- التالي: if-else — استخدام هذه القيم لاختيار أي كود يعمل
🧠 اختبر معرفتك
اختبر معرفتك
تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى