المسارات
/
JavaScript
JavaScript
/
المنهج
/
الجمل الشرطية
ال

الجمل الشرطية في JavaScript

42 تمرينًا

نبذة عن الجمل الشرطية

الصيغة العامة

من الطرق الشائعة لتنفيذ منطق بشكل شرطي في JavaScript استخدام الجملة الشرطية if. وهي تتكون من الكلمة المفتاحية if، وشرط محاط بالأقواس الهلالية، وكتلة كود محاطة بالأقواس المعقوفة. ولا تُنفَّذ كتلة الكود إلا إذا كان ناتج تقييم الشرط true.

if (condition) {
  // code that is executed if "condition" is true
}

ويمكن استخدامها وحدها أو مع الكلمة المفتاحية else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

الجمل الشرطية المتداخلة

لتداخل شرط آخر داخل عبارة else يمكنك استخدام else if. لاحظ أنه لا توجد كلمة مفتاحية elseif في JavaScript. بدلًا من ذلك، اكتب else متبوعة بجملة if أخرى.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

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

if (condition1) {
  // ...
} else if (condition2) {
  // ...
} else if (condition3) {
  // ...
} else if (condition4) {
  // ...
} else {
  // ...
}

الشرط

عند بناء شروط معقدة، راجع جدول أسبقية العوامل لتجنب الأقواس غير الضرورية.

if (num >= 0 && num < 1) {
  // ...
}

// The inner brackets are obsolete because relational operators
// have higher precedence than logical operators.
<!-- prettier-ignore-start -->

if ((num >= 0) && (num < 1)) {
  // ...
}
<!-- prettier-ignore-end -->

كذلك، فكّر في استخدام متغيرات إضافية لجعل الكود أكثر قابلية للقراءة.

const isPositive = num >= 0;
const isSmall = num < 1;
if (isPositive && isSmall) {
  // ...
}

في JavaScript، لا يلزم أن يكون الشرط من النوع المنطقي. فإذا قُدِّم نوع آخر غير النوع المنطقي في سياق منطقي مثل الجملة الشرطية، فستحوّل JavaScript القيمة ضمنيًا إلى قيمة منطقية. راجع مفهوم تحويل الأنواع لمعرفة القيم التي تُعد truthy وأيها falsy.

const num = 4;
if (num) {
  // this code block will be executed because 4 is truthy
}

الصيغ المختصرة

إذا أردت تنفيذ عبارة واحدة فقط في كتلة الكود الخاصة بـ if أو else، فيمكنك في JavaScript حذف الأقواس المعقوفة.

if (condition) doSomething();

// or

if (condition)
  doSomething();

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

عند كتابة الدوال، من الأنماط الشائعة حذف كتلة else واستخدام return مبكر في كتلة if بدلًا من ذلك. وفي كثير من الحالات، يقلل هذا من التداخل ويجعل الكود أكثر قابلية للقراءة وأسهل في المتابعة.

function checkNumber(num) {
  let message = '';

  if (num === 0) {
    message = 'You passed 0, please provide another number.';
  } else {
    message = 'Thanks for passing such a nice number.';
  }

  return message;
}

// Can also be written as ...
function checkNumber(num) {
  if (num === 0) {
    return 'You passed 0, please provide another number.';
  }

  return 'Thanks for passing such a nice number.';
}
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم الجمل الشرطية