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