Avatar ·

Как определить, равна ли переменная undefined или null в JavaScript?

```html مرحباً بالجميع! أنا بدأت لتوي في تعلم JavaScript وواجهت مشكلة كهذه. في كودي غالباً ما أحتاج للتحقق مما إذا كان المتغير موجوداً أم لا، لكني أخلط بين `undefined` و `null`. على سبيل المثال، لدي دالة تستقبل معامل `name`. إذا لم يمرر المستخدم الاسم، أريد عرض رسالة "الاسم غير محدد". ولكن إذا مرر `null`، أريد أيضاً معالجة ذلك كغياب للاسم. هذه محاولتي: ```javascript function greet(name) { if (name == undefined) { console.log("الاسم غير محدد"); } else { console.log("مرحباً، " + name); } } greet(); // يطبع "الاسم غير محدد" — يعمل greet(null); // يطبع "مرحباً، null" — بينما المفروض يطبع "الاسم غير محدد"! ``` لماذا لا يكتشف `name == undefined` القيمة `null`؟ قرأت أن هناك عاملين `==` و `===`، لكني لا أفهم الفرق. أيضاً سمعت عن `typeof`، لكنه يبدو للنصوص. أرشدوني كيف أتحقق بشكل صحيح من `undefined` و `null` معاً؟ وهل هناك فرق بين هذين الاثنين؟ ```