3.6 KiB
3.6 KiB
id, title, challengeType, videoUrl, localeTitle
| 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