Como verificar corretamente se uma propriedade de objeto em JavaScript é undefined?
Olá a todos! Sou novo em JavaScript e encontrei um problema ao verificar propriedades de objetos. Eu tenho um objeto user:
```javascript
const user = {
name: 'Иван',
age: 25
};
```
Quero verificar se o objeto possui a propriedade `email` e se ela é `undefined`. Mas estou confuso sobre as diferentes formas de verificação.
Por exemplo, se eu escrevo:
```javascript
if (user.email === undefined) {
console.log('email não está definido');
}
```
Isso funciona, mas ouvi dizer que não é seguro fazer isso, porque a propriedade pode ser explicitamente definida como `undefined`. Depois tentei o operador `in`:
```javascript
if ('email' in user) {
console.log('a propriedade existe');
}
```
Mas aqui não entendo a diferença entre "a propriedade não existe" e "a propriedade existe, mas é undefined". Na minha tarefa, preciso distinguir esses dois casos.
Também vi que alguns usam `typeof`:
```javascript
if (typeof user.email === 'undefined') {
// fazemos algo
}
```
Qual método é
No answers yet.
Faça login para deixar uma resposta