JavaScript: الجمل الشرطية في جافاسكريبت

آخر تحديث: 2026-10-13

الجمل الشرطية تعطي برنامجك القدرة على اتخاذ القرارات — اتخاذ مسارات مختلفة بناءً على مواقف مختلفة. بدونها، سيعمل الكود الخاص بك من أعلى إلى أسفل بدون تفرع; معها، يمكن لبرنامجك التفكير والاختيار مثل الإنسان.

تصريحات ذات صلة:if...else switch

1. جملة if

الشرط الأكثر أساسية: إذا كان الشرط صحيحًا، نفذ الكود داخل الأقواس المقوسة.

HTML
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head><meta charset="UTF-8"><title>جملة if</title></head>
<body>
<div id="output"></div>
<script>
let age = 20;
if (age >= 18) {
  document.getElementById('output').textContent = 'أنت بالغ';
}
</script>
</body>
</html>

يمكنك حذف الأقواس المقوسة عندما يكون هناك جملة واحدة فقط بالداخل، لكنه غير م khuyến khích بشدة — الأقواس تجعل الكود أوضح وتمنع الأخطاء عند إضافة جمل أخرى لاحقًا.


اختيار ثنائي: إذا كان الشرط صحيحًا، نفذ كتلة if; وإلا، نفذ كتلة else.

HTML
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head><meta charset="UTF-8"><title>if...else</title></head>
<body>
<div id="output"></div>
<script>
let score = 45;
if (score >= 60) {
  document.getElementById('output').textContent = 'ناجح!';
} else {
  document.getElementById('output').textContent = 'لم ينجح، واصل المحاولة';
}
</script>
</body>
</html>

2. if...else if...else

شروط متعددة تُقيَّم من أعلى إلى أسفل — أول واحد يتطابق يُنفذ، والباقي يتخطى:

HTML
<!DOCTYPE html>
<html lang="ar" dir="rtl">
<head><meta charset="UTF-8"><title>if...else if</title></head>
<body>
<div id="output"></div>
<script>
let score = 85;
if (score >= 90) {
  document.getElementById('output').textContent = 'ممتاز';
} else if (score >= 80) {
  document.getElementById('output').textContent = 'جيد';
} else if (score >= 60) {
  document.getElementById('output').textContent = 'ناجح';
} else {
  document.getElementById('output').textContent = 'راسب';
}
</script>
</body>
</html>

▶ مثال: حاسبة الدرجات

▶ جرّب الكود

3. العامل الثلاثي

العامل الثلاثي هو اختصار لـ if...else، مثالي للاختيارات الثنائية البسيطة:

HTML
<script>
// البناء: condition ? value1 : value2
let age = 20;
let status = age >= 18 ? 'بالغ' : 'قاصر';

// يعادل:
let status2;
if (age >= 18) {
  status2 = 'بالغ';
} else {
  status2 = 'قاصر';
}
</script>
💡 تلميح: العامل الثلاثي رائع لتعيينات القيم البسيطة. عندما يصبح المنطق معقدًا، التزم بـ if...else — القراءة أهم من الإيجاز.


4. جملة switch

عند التحقق من متغير واحد مقابل عدة قيم ثابتة، switch أنظف من if...else if:

HTML
<script>
let day = 3;
switch (day) {
  case 1: console.log('الاثنين'); break;
  case 2: console.log('الثلاثاء'); break;
  case 3: console.log('الأربعاء'); break;
  // ...
  default: console.log('رقم غير صالح');
}
</script>

نقطتان رئيسيتان:

  1. لا تحذف break أبدًا — بدونه، "يسقط التنفيذ" إلى الحالة التالية
  2. default هو المصيدة الشاملة — يُنفذ عندما لا يتطابق أي case

▶ مثال: فخ السقوط في Switch

▶ جرّب الكود
⚠️ ملاحظة: نسيان break هو أكثر أخطاء switch شيوعًا. لكن أحيانًا "السقوط" مفيد — عندما يجب أن تشغيل عدة قيم نفس المنطق، حذف break عن قصد يتيح دمجها.


5. القيم falsy

في التحققات الشرطية، تُعامل القيم التالية كـ false (تُسمى قيم falsy):

قيمة falsy الوصف
false منطقي false
0 صفر
"" أو '' نص فارغ
null فارغ
undefined غير معرّف
NaN ليس رقمًا

جميع القيم الأخرى truthy، بما في ذلك "0" (نص صفر)، [] (مصفوفة فارغة)، {} (كائن فارغ) — قد تبدو "فارغة"، لكنها تُقيَّم كـ true في الشروط.

▶ مثال: تحققات القيم falsy

▶ جرّب الكود
⚠️ ملاحظة: عند استخدام || للقيم الافتراضية، انتبه: 0 و"" صالحان لكن يُعاملان كـ falsy. استخدم ?? (عامل الإدماج الفارغ) بدلاً من ذلك — يُطبق الافتراضي فقط على null وundefined.



تصريحات ذات صلة:if...else switch

❓ أسئلة شائعة

س ما الفرق بين == و=== في الشروط؟
ج == يُجري إكراه الأنواع قبل المقارنة ("1" == 1 هو true)، بينما === لا يفعل ("1" === 1 هو false). استخدم دائمًا === لتجنب التحولات الضمنية غير المتوقعة.
س هل يمكن لـ switch مقارنة النصوص؟
ج نعم. switch يعمل مع النصوص والأرقام والقيم المنطقية — يستخدم التساوي الصارم (===) للمقارنة.
س ما الفرق بين ?? و||؟
ج || يُفعَّل على جميع القيم falsy (0، ""، null، undefined، NaN، false)، بينما ?? يُفعَّل فقط على null وundefined. استخدم ?? عندما تحتاج للحفاظ على 0 والنصوص الفارغة.

📖 ملخص

📝 تمارين

  1. اكتب برنامجًا يأخذ سنة كمدخل ويحدد ما إذا كانت سنة كبيسة (قابلة للقسمة على 4 وليس على 100، أو قابلة للقسمة على 400)
  2. ابنِ حاسبة بسيطة: خذ رقمين وعامل (+، -، *، /) كمدخل، استخدم switch لحساب النتيجة، وتعامل مع القسمة على صفر
  3. ابنِ حاسبة BMI: خذ الطول (م) والوزن (كجم) كمدخل، احسب BMI، واعرض الفئة (نقص الوزن/طبيعي/وزن زائد/سمنة)
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%