3.6 KiB
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