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