Как определить, равна ли переменная 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` معاً؟ وهل هناك فرق بين هذين الاثنين؟
```