freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-an.../debugging/catch-use-of-assignment-ope...

3.6 KiB

id title challengeType videoUrl localeTitle
587d7b85367417b2b2512b38 Catch Use of Assignment Operator Instead of Equality Operator 1 قبض على استخدام مشغل التعيين بدلا من مشغل المساواة

Description

تعتمد البرامج المتفرعة ، أي البرامج التي تقوم بأشياء مختلفة إذا تم استيفاء شروط معينة ، على if else if else عبارات أخرى في جافا سكريبت أو غير ذلك أو else . تأخذ الحالة أحيانًا شكل اختبار ما إذا كانت النتيجة مساوية لقيمة ما. يتم نطق هذا المنطق (باللغة الإنجليزية ، على الأقل) على أنه "إذا كان x يساوي y ، ثم ..." والذي يمكن أن يترجم حرفيًا إلى تعليمة برمجية باستخدام عامل التشغيل أو = أو عامل التشغيل. هذا يؤدي إلى تدفق التحكم غير متوقع في البرنامج الخاص بك. كما تم تغطيته في التحديات السابقة ، يقوم عامل التعيين ( = ) في JavaScript بتعيين قيمة لاسم متغير. و == و === عوامل التحقق من المساواة (اختبار === الثلاثي من أجل المساواة الصارمة ، مما يعني أن القيمة والنوع هما نفس الشيء). يعيّن الرمز أدناه x إلى 2 ، والتي يتم تقييمها على أنها true . تقريبًا كل قيمة من تلقاء نفسها في جافا سكريبت يتم تقييمها إلى true ، باستثناء ما يُعرف بالقيم "الفالية": false ، و 0 ، و "" (سلسلة فارغة) ، و NaN ، و undefined ، و null .
دع x = 1؛
دعنا y = 2؛
إذا (x = y) {
// سيتم تشغيل هذا الكود لأية قيمة لـ y (ما لم يتم تعيين y في الأصل كالفلا)
} آخر {
// كتلة الكود هذا هو ما يجب تشغيله (لكن لن) في هذا المثال
}

Instructions

أصلح الشرط بحيث يقوم البرنامج بتشغيل الفرع الصحيح ، ويتم تعيين القيمة المناسبة result .

Tests

tests:
  - text: يجب أن تحدد شفرتك الشرط حتى تتحقق من المساواة ، بدلاً من استخدام الواجب.
    testString: 'assert(result == "Not equal!", "Your code should fix the condition so it checks for equality, instead of using assignment.");'
  - text: يمكن أن تستخدم الحالة إما <code>==</code> أو <code>===</code> لاختبار المساواة.
    testString: 'assert(code.match(/x\s*?===?\s*?y/g), "The condition can use either <code>==</code> or <code>===</code> to test for equality.");'

Challenge Seed

let x = 7;
let y = 9;
let result = "to come";

if(x = y) {
  result = "Equal!";
} else {
  result = "Not equal!";
}

console.log(result);

Solution

// solution required