Avatar ·

Cómo verificar correctamente que una propiedad de un objeto en JavaScript es undefined

¡Hola a todos! Soy nuevo en JavaScript y me encontré con un problema al verificar las propiedades de los objetos. Tengo un objeto user: ```javascript const user = { name: 'Иван', age: 25 }; ``` Quiero verificar si el objeto tiene la propiedad `email` y si es igual a `undefined`. Pero me confundo con las diferentes formas de verificación. Por ejemplo, si escribo: ```javascript if (user.email === undefined) { console.log('email no está definido'); } ``` Esto funciona, pero he oído que no es seguro hacerlo así, porque la propiedad podría estar explícitamente establecida como `undefined`. Luego probé el operador `in`: ```javascript if ('email' in user) { console.log('la propiedad existe'); } ``` Pero aquí no entiendo la diferencia entre «la propiedad no existe» y «la propiedad existe, pero es undefined». En mi tarea necesito distinguir estos dos casos. También vi que algunos usan `typeof`: ```javascript if (typeof user.email === 'undefined') { // hacemos algo } ``` ¿Cuál es la forma correcta?