2.6 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
| id | title | challengeType | videoUrl | forumTopicId | dashedName |
|---|---|---|---|---|---|
| 56533eb9ac21ba0edf2244d0 | المقارنة باستخدام مشغِّل المساواة (==) | 1 | https://scrimba.com/c/cKyVMAL | 16784 | comparison-with-the-equality-operator |
--description--
هناك العديد من مشغلي المقارنة في JavaScript. كل هذه المشغلين ينتجون قيمة منطقية boolean من true أو false.
ابسط نوع مشغِّل هو مشغِّل المساواة ==. يقارن مشغِّل المساواة بين قيمتين و ينتج true إذا كانتا القيمتين متساويتين أو false إذا لم تكونا كذلك. لاحظ أن المساواة تختلف عن التعيين (=)، التي تعطي القيمة على يمين المشغِّل إلى متغير على يساره.
function equalityTest(myVal) {
if (myVal == 10) {
return "Equal";
}
return "Not Equal";
}
إذا كانت قيمة myVal تساوي 10، عملية المساواة تعيد true، و بهذا سيتم تنفيذ التعليمات البرمجية المكتوبة بين الأقواس، وستنتج الوظيفة Equal. وإلا فإن الوظيفة ستنتج Not Equal. لكي تقوم JavaScript بمقارنة بين نوعين مختلفين من أنواع البيانات (على سبيل المثال، نوع numbers و نوع strings)، يجب أن تحوِّل احدمها إلى النوع الآخر. هذا يُعرف بقسر النوع (Type Coercion). بمجرد فعل ذلك، يتمكن Javascript من المقارنة بين المصطلحات كما يلي:
1 == 1 // true
1 == 2 // false
1 == '1' // true
"3" == 3 // true
--instructions--
اضف مشغِّل المساواة إلى المكان المشار أليه كي تنتج الوظيفة Equal إذا تساوت val بعدد 12.
--hints--
يجب أن testEqual(10) تنتج Not Equal
assert(testEqual(10) === 'Not Equal');
يجب أن testEqual(12) تنتج Equal
assert(testEqual(12) === 'Equal');
يجب أن testEqual("12") تنتج Equal
assert(testEqual('12') === 'Equal');
يجب عليك أن تستخدم العملية ==
assert(code.match(/==/g) && !code.match(/===/g));
--seed--
--seed-contents--
// Setup
function testEqual(val) {
if (val) { // Change this line
return "Equal";
}
return "Not Equal";
}
testEqual(10);
--solutions--
function testEqual(val) {
if (val == 12) {
return "Equal";
}
return "Not Equal";
}