Cómo verificar correctamente si existe una propiedad de objeto en JavaScript (undefined)
¡Hola a todos! Empecé a estudiar JavaScript y me encontré con una situación confusa. Tengo un objeto con datos de usuario y quiero verificar si existe una propiedad específica en él. Pero me confundo entre `undefined`, `null` y cuando la propiedad no está declarada en absoluto.
Aquí hay un ejemplo. Supongamos que tengo un objeto:
```javascript
const user = {
name: 'Iván',
age: 25
};
```
Quiero verificar si el usuario tiene la propiedad `email`. Si escribo:
```javascript
if (user.email === undefined) {
console.log('Email no especificado');
}
```
Esto parece funcionar, pero he oído que hacerlo así es incorrecto. ¿Por qué? Después de todo, `user.email` realmente devuelve `undefined`.
Pero, ¿qué pasa si asigno intencionalmente una propiedad con el valor `undefined`?
```javascript
const user2 = {
name: 'María',
email: undefined
};
```
Ahora `user2.email` también es `undefined`. ¿Cómo puedo distinguir entre el caso en que la propiedad existe pero su valor es `undefined`, y el caso en que la propiedad no existe en absoluto? He probado y