البوليان والعمليات المنطقية
البوليان والعمليات المنطقية (Boolean and Logical Operations) في JavaScript هي أساس اتخاذ القرارات والتحكم في تدفق البرنامج. البوليان يمثل قيمتين فقط: true (صحيح) أو false (خطأ)، ويستخدم في المقارنات والتحقق من الشروط. العمليات المنطقية مثل AND (&&)، OR (||)، وNOT (!) تسمح بتركيب شروط معقدة وتحديد النتائج بناءً على مجموعة من المتغيرات. هذه المهارات ضرورية لتطوير مواقع الأخبار (لتحديد المقالات المميزة)، المواقع التجارية (لتفعيل الخصومات أو خيارات الشحن)، الصفحات الشخصية (لعرض محتوى خاص بالمستخدمين المسجلين)، أو بوابات الحكومة الإلكترونية (للتحقق من الصلاحيات). يمكن تشبيه البوليان ببناء غرفة: كل شرط هو جدار، والعمليات المنطقية تحدد كيف ترتبط الجدران ببعضها لتشكيل الغرفة النهائية. في هذا الدرس، ستتعلم كيفية إنشاء شروط معقدة، التعامل مع القيم البوليانية، استخدام العمليات المنطقية في التحكم بتدفق الصفحة، ومعالجة الأخطاء المحتملة. بنهاية الدرس، ستتمكن من كتابة تعليمات شرطية متقدمة تتيح لك التحكم الكامل في سلوك تطبيقك بناءً على بيانات المستخدم والظروف المختلفة.
مثال أساسي
javascript// تحقق من حالة المستخدم لتفعيل خصم
let مسجل = true; // المستخدم مسجل أم لا
let اشتراكPremium = false; // هل لديه اشتراك بريميوم
let خصم = مسجل && !اشتراكPremium; // شرط الخصم
console.log("هل المستخدم مؤهل للخصم؟", خصم); // عرض النتيجة
في المثال أعلاه، أنشأنا متغيرين: مسجل واشتراكPremium يمثلان حالة المستخدم. ثم استخدمنا العملية المنطقية AND (&&) مع NOT (!) لتحديد ما إذا كان المستخدم مؤهلاً للحصول على الخصم. الشرط يعني: المستخدم يجب أن يكون مسجلاً AND لا يملك اشتراك بريميوم. console.log يعرض النتيجة. هذا النوع من العمليات المنطقية شائع في المواقع التجارية لتحديد العروض أو تفعيل مزايا معينة، وفي بوابات الحكومة لتحديد صلاحيات الوصول، أو في الصفحات الشخصية للتحكم في عرض محتوى محدد للمستخدمين. المبتدئون قد يسألون عن الفرق بين & و &&؛ & تستخدم في العمليات الثنائية، أما && فهي خاصة بالشرط المنطقي.
مثال عملي
javascript// التحكم في الوصول إلى محتوى خاص
let عمرالمستخدم = 25;
let موافقعلىالشروط = true;
let يمكنالدخول = (عمرالمستخدم >= 18) && موافقعلىالشروط;
if (يمكنالدخول) {
console.log("مرحباً بك في المحتوى الخاص!");
} else {
console.log("لا يمكنك الوصول إلى المحتوى.");
}
في هذا المثال، نتحقق من شرطين قبل السماح للمستخدم بالدخول: يجب أن يكون عمره 18 سنة على الأقل AND أن يكون قد وافق على الشروط. التعبير (عمرالمستخدم >= 18) && موافقعلىالشروط يجمع الشرطين باستخدام العملية AND. if...else يتحكم في سلوك الصفحة حسب نتيجة البوليان. هذا النموذج يُستخدم في المواقع الإخبارية لتقييد محتوى الكبار، أو في بوابات الحكومة للتحقق من الموافقة على الشروط قبل تقديم الخدمات، وفي الصفحات الشخصية لتحديد الوصول لمميزات معينة. فهم العمليات المنطقية يمكّنك من كتابة شروط مرنة وقابلة للتوسع.
أفضل الممارسات والأخطاء الشائعة:
- استخدام العمليات المنطقية بوضوح وتجنب التعقيد الزائد في الشرط الواحد.
- التحقق دائماً من نوع المتغيرات لتجنب أخطاء مقارنة القيم المختلفة (مثلاً string مع number).
- استخدام القيم البوليانية بدلاً من المقارنات غير الضرورية لتحسين الأداء.
- تجنب إعادة حساب الشروط المعقدة بشكل متكرر، احفظ النتيجة في متغير.
أخطاء شائعة: استخدام = بدلاً من == أو ===، إهمال NOT (!) عند الحاجة لعكس القيمة، أو كتابة شروط منطقية متشابكة تجعل الكود صعب القراءة.
نصائح التصحيح: استخدم console.log لمراجعة القيم البوليانية، قسم الشروط الكبيرة إلى متغيرات صغيرة، واختبر كل شرط بشكل مستقل قبل دمجه مع الشروط الأخرى. هذا يشبه تنظيم مكتبة: كل كتاب في مكانه الصحيح لتسهيل الوصول والتحكم.
📊 مرجع سريع
Property/Method | Description | Example |
---|---|---|
Boolean(value) | تحويل قيمة إلى بوليان | Boolean(1) => true |
! (NOT) | عكس القيمة البوليانية | !true => false |
&& (AND) | التحقق من تحقق كلا الشرطين | true && false => false |
(OR) | التحقق من تحقق أحد الشرطين | true |
\=== | مقارنة القيمة والنوع | 5 === '5' => false |
\== | مقارنة القيمة فقط | 5 == '5' => true |
الملخص والخطوات التالية:
في هذا الدرس تعلمنا أساسيات البوليان والعمليات المنطقية في JavaScript، بما في ذلك استخدام AND، OR، NOT والمقارنات الصارمة والضعيفة. هذه المفاهيم حيوية للتحكم في تدفق البرنامج والتحقق من شروط المستخدم قبل اتخاذ الإجراءات، سواء في المواقع الإخبارية أو بوابات الحكومة أو المواقع التجارية. الخطوة التالية هي دمج هذه المفاهيم مع DOM للتحكم في عرض العناصر ديناميكياً أو مع backend للتحقق من الصلاحيات وقراءة البيانات. يمكن متابعة تعلم التعابير الشرطية المعقدة، switch statements، واستخدام المنطق في حلقات التحكم لتطوير تطبيقات أكثر ديناميكية وذكاء.
🧠 اختبر معرفتك
اختبر معرفتك
اختبر فهمك لهذا الموضوع بأسئلة عملية.
📝 التعليمات
- اقرأ كل سؤال بعناية
- اختر أفضل إجابة لكل سؤال
- يمكنك إعادة الاختبار عدة مرات كما تريد
- سيتم عرض تقدمك في الأعلى