Comparison Operators

هي عوامل تستخدم لمقارنة القيم، وترجع دائمًا قيمة منطقية (Boolean):
🔹 true أو false

🔢 قائمة عوامل المقارنة في JavaScript:
العاملالمعنى
==يساوي (مقارنة القيم فقط)
===يساوي تمامًا (قيمة + نوع)
!=لا يساوي (مقارنة القيم فقط)
!==لا يساوي تمامًا (قيمة + نوع)
>أكبر من
<أصغر من
>=أكبر من أو يساوي
<=أصغر من أو يساوي

🟨 1. المقارنة بالقيمة فقط ==

🔹 تقارن القيم فقط وتقوم بتحويل الأنواع تلقائيًا (Type Coercion).

مثال:

console.log(5 == "5");   // true (لأنها تحوّل "5" إلى رقم)
console.log(true == 1);  // true
console.log(null == undefined); // true
JavaScript

📌 تحذير: يمكن أن تُنتج نتائج غير متوقعة بسبب التحويل التلقائي.

🟩 2. المقارنة بالقيمة والنوع === (Strict Equality)

🔹 تقارن القيمة والنوع معًا – الأفضل والأكثر أمانًا.

console.log(5 === "5");  // false (رقم ≠ نص)
console.log(5 === 5);    // true
console.log(null === undefined); // false
JavaScript

نصيحة مهمة: دائمًا استخدم === بدل == لتفادي الأخطاء.

🟥 3. لا يساوي != (نفي القيمة فقط)

🔹 يتحقق مما إذا كانت القيم غير متساوية (مع تحويل النوع).

مثال:

console.log(5 != "5");   // false (نفس القيمة بعد التحويل)
console.log(5 != 6);     // true
JavaScript

🟦 4. لا يساوي تمامًا !== (نفي القيمة والنوع)

🔹 يتحقق إذا القيمة أو النوع مختلف.

console.log(5 !== "5");  // true
console.log(5 !== 5);    // false
JavaScript

🟨 5. أكبر من / أصغر من / أو يساوي:

المقارنةالنتيجة
5 > 3true
5 < 3false
5 >= 5true
4 <= 3false

🔹 تقارن بين الأرقام أو حتى الحروف:

console.log("b" > "a"); // true (حسب ترتيب Unicode)
JavaScript

✅ أمثلة متنوعة:

let x = 10;
let y = "10";

console.log(x == y);   // true
console.log(x === y);  // false
console.log(x != y);   // false
console.log(x !== y);  // true
console.log(x > 5);    // true
console.log(x <= 10);  // true
JavaScript

🔍 مقارنة سريعة:

المقارنةالقيمة فقطالقيمة + النوع
متساوي=====
غير متساوي!=!==

💡 ملاحظات مهمة:

"2" > 1true (تحوّل “2” إلى رقم)

null == undefinedtrue (لكن null === undefined → false)

"abc" < "bcd"true (لأن "a" أقل من "b" حسب Unicode)