You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/ar/2-js-basics/3-making-decisions/README.md

12 KiB

أساسيات JavaScript: اتخاذ القرارات

أساسيات JavaScript - اتخاذ القرارات

رسم توضيحي من Tomomi Imura

اختبار ما قبل المحاضرة

اختبار ما قبل المحاضرة

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

اتخاذ القرارات

🎥 انقر على الصورة أعلاه لمشاهدة فيديو حول اتخاذ القرارات.

يمكنك أخذ هذا الدرس على Microsoft Learn!

لمحة سريعة عن البوليانات

البوليانات يمكن أن تحتوي فقط على قيمتين: true أو false. تساعد البوليانات في اتخاذ القرارات حول أي سطور من الكود يجب أن تُنفذ عند تحقق شروط معينة.

قم بتعيين قيمة البوليان إلى true أو false كالتالي:

let myTrueBool = true
let myFalseBool = false

سميت البوليانات على اسم عالم الرياضيات والفيلسوف والمنطقي الإنجليزي جورج بول (18151864).

عوامل المقارنة والبوليانات

تُستخدم العوامل لتقييم الشروط من خلال إجراء مقارنات تُنتج قيمة بوليانية. فيما يلي قائمة بالعوامل التي تُستخدم بشكل متكرر.

الرمز الوصف المثال
< أقل من: يقارن بين قيمتين ويعيد قيمة بوليانية true إذا كانت القيمة على الجانب الأيسر أقل من القيمة على الجانب الأيمن 5 < 6 // true
<= أقل من أو يساوي: يقارن بين قيمتين ويعيد قيمة بوليانية true إذا كانت القيمة على الجانب الأيسر أقل من أو تساوي القيمة على الجانب الأيمن 5 <= 6 // true
> أكبر من: يقارن بين قيمتين ويعيد قيمة بوليانية true إذا كانت القيمة على الجانب الأيسر أكبر من القيمة على الجانب الأيمن 5 > 6 // false
>= أكبر من أو يساوي: يقارن بين قيمتين ويعيد قيمة بوليانية true إذا كانت القيمة على الجانب الأيسر أكبر من أو تساوي القيمة على الجانب الأيمن 5 >= 6 // false
=== المساواة الصارمة: يقارن بين قيمتين ويعيد قيمة بوليانية true إذا كانت القيم على الجانبين الأيمن والأيسر متساوية وتملك نفس نوع البيانات 5 === 6 // false
!== عدم المساواة: يقارن بين قيمتين ويعيد القيمة البوليانية المعاكسة لما يعيده عامل المساواة الصارمة 5 !== 6 // true

تحقق من معرفتك بكتابة بعض المقارنات في وحدة التحكم في المتصفح. هل تفاجأت بأي بيانات مُعادة؟

جملة If

جملة if ستنفذ الكود الموجود بين الأقواس إذا كان الشرط صحيحًا.

if (condition) {
  //Condition is true. Code in this block will run.
}

تُستخدم العوامل المنطقية غالبًا لتكوين الشرط.

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
}

جملة If..Else

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

let currentMoney;
let laptopPrice;

if (currentMoney >= laptopPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is false. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

اختبر فهمك لهذا الكود والكود التالي عن طريق تشغيله في وحدة التحكم في المتصفح. قم بتغيير قيم المتغيرين currentMoney و laptopPrice لتغيير ما يعيده console.log().

جملة Switch

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

switch (expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
  // code block
}
// program using switch statement
let a = 2;

switch (a) {
  case 1:
    a = "one";
    break;
  case 2:
    a = "two";
    break;
  default:
    a = "not found";
    break;
}
console.log(`The value is ${a}`);

اختبر فهمك لهذا الكود والكود التالي عن طريق تشغيله في وحدة التحكم في المتصفح. قم بتغيير قيم المتغير a لتغيير ما يعيده console.log().

العوامل المنطقية والبوليانات

قد تتطلب القرارات أكثر من مقارنة واحدة، ويمكن ربطها معًا باستخدام العوامل المنطقية لإنتاج قيمة بوليانية.

الرمز الوصف المثال
&& AND المنطقية: تقارن بين تعبيرين بوليانيين. تعيد true فقط إذا كان كلا الجانبين صحيحًا (5 > 6) && (5 < 6 ) // أحد الجانبين خاطئ، والآخر صحيح. تعيد false
|| OR المنطقية: تقارن بين تعبيرين بوليانيين. تعيد true إذا كان على الأقل أحد الجانبين صحيحًا (5 > 6) || (5 < 6) // أحد الجانبين خاطئ، والآخر صحيح. تعيد true
! NOT المنطقية: تعيد القيمة المعاكسة لتعبير بولياني !(5 > 6) // 5 ليس أكبر من 6، ولكن "!" ستعيد true

الشروط والقرارات باستخدام العوامل المنطقية

يمكن استخدام العوامل المنطقية لتكوين شروط في جمل if..else.

let currentMoney;
let laptopPrice;
let laptopDiscountPrice = laptopPrice - laptopPrice * 0.2; //Laptop price at 20 percent off

if (currentMoney >= laptopPrice || currentMoney >= laptopDiscountPrice) {
  //Condition is true. Code in this block will run.
  console.log("Getting a new laptop!");
} else {
  //Condition is true. Code in this block will run.
  console.log("Can't afford a new laptop, yet!");
}

عامل النفي

لقد رأيت حتى الآن كيف يمكنك استخدام جملة if...else لإنشاء منطق شرطي. أي شيء يدخل في جملة if يجب أن يُقيّم إلى true/false. باستخدام العامل ! يمكنك نفي التعبير. سيبدو كالتالي:

if (!condition) {
  // runs if condition is false
} else {
  // runs if condition is true
}

التعبيرات الثلاثية

if...else ليست الطريقة الوحيدة للتعبير عن منطق اتخاذ القرار. يمكنك أيضًا استخدام ما يسمى بالعامل الثلاثي. يبدو بناء الجملة الخاص به كالتالي:

let variable = condition ? <return this if true> : <return this if false>

فيما يلي مثال أكثر وضوحًا:

let firstNumber = 20;
let secondNumber = 10;
let biggestNumber = firstNumber > secondNumber ? firstNumber : secondNumber;

خذ دقيقة لقراءة هذا الكود عدة مرات. هل تفهم كيف تعمل هذه العوامل؟

ما سبق ينص على:

  • إذا كانت firstNumber أكبر من secondNumber
  • قم بتعيين firstNumber إلى biggestNumber
  • وإلا قم بتعيين secondNumber.

التعبير الثلاثي هو مجرد طريقة مختصرة لكتابة الكود أدناه:

let biggestNumber;
if (firstNumber > secondNumber) {
  biggestNumber = firstNumber;
} else {
  biggestNumber = secondNumber;
}

🚀 التحدي

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


اختبار ما بعد المحاضرة

اختبار ما بعد المحاضرة

المراجعة والدراسة الذاتية

اقرأ المزيد عن العديد من العوامل المتاحة للمستخدم على MDN.

اطلع على أداة البحث الرائعة عن العوامل من Josh Comeau operator lookup!

الواجب

العوامل


إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.