如何正确检查JavaScript中对象属性是否存在(undefined)
大家好!我开始学习JavaScript,遇到了一个令人困惑的情况。我有一个包含用户数据的对象,想要检查其中是否存在某个特定属性。但我对`undefined`、`null`以及属性根本未声明的情况感到混淆。
举个例子。假设我有一个对象:
```javascript
const user = {
name: 'Иван',
age: 25
};
```
我想检查用户是否有`email`属性。如果我写:
```javascript
if (user.email === undefined) {
console.log('Email未指定');
}
```
这似乎有效,但我听说这样做是不正确的。为什么?因为`user.email`确实返回`undefined`。
但是,如果我特意将属性值设为`undefined`呢?
```javascript
const user2 = {
name: 'Мария',
email: undefined
};
```
现在`user2.email`也是`undefined`。我该如何区分属性存在但值为`undefined`的情况,与属性根本不存在的情况?我尝试过