Avatar ·

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