Como verificar corretamente se uma propriedade de objeto existe em JavaScript (undefined)
Olá a todos! Comecei a estudar JavaScript e me deparei com uma situação confusa. Tenho um objeto com dados do usuário e quero verificar se uma determinada propriedade existe nele. Mas estou confuso entre `undefined`, `null` e o fato de a propriedade não estar declarada.
Aqui está um exemplo. Suponha que eu tenha um objeto:
```javascript
const user = {
name: 'Ivan',
age: 25
};
```
Quero verificar se o usuário tem a propriedade `email`. Se eu escrever:
```javascript
if (user.email === undefined) {
console.log('Email não informado');
}
```
Isso parece funcionar, mas ouvi dizer que fazer isso é incorreto. Por quê? Afinal, `user.email` realmente retorna `undefined`.
Mas e se eu definir intencionalmente uma propriedade com o valor `undefined`?
```javascript
const user2 = {
name: 'Maria',
```