كيف تتحقق بشكل صحيح من أن خاصية كائن في JavaScript هي undefined؟
مرحبًا بالجميع! أنا مبتدئ في JavaScript وقد واجهت مشكلة عند التحقق من خصائص الكائنات. لدي كائن user:
```javascript
const user = {
name: 'إيفان',
age: 25
};
```
أريد التحقق مما إذا كانت الخاصية `email` موجودة في الكائن وما إذا كانت تساوي `undefined`. لكنني مرتبك بين الطرق المختلفة للتحقق.
على سبيل المثال، إذا كتبت:
```javascript
if (user.email === undefined) {
console.log('email غير معرف');
}
```
هذا يعمل، لكنني سمعت أن القيام بذلك غير آمن، لأن الخاصية قد تكون مضبوطة بشكل صريح على `undefined`. ثم جربت العامل `in`:
```javascript
if ('email' in user) {
console.log('الخاصية موجودة');
}
```
لكنني هنا لا أفهم الفرق بين «الخاصية غير موجودة» و«الخاصية موجودة ولكنها تساوي undefined». في مهمتي، أحتاج إلى التمييز بين هاتين الحالتين.
كما رأيت أن البعض يستخدم `typeof`:
```javascript
if (typeof user.email === 'undefined') {
// نفعل شيئًا
}
```
أي طريقة هي الأ