¿Cómo verificar si existe una clave en un objeto JavaScript?
¡Hola a todos! Acabo de empezar a aprender JavaScript y me encontré con un problema al trabajar con objetos. Tengo un objeto que contiene datos de usuarios:
```javascript
let user = {
name: "Iván",
age: 25,
email: "ivan@example.com"
};
```
Quiero verificar si existe la clave "phone" en este objeto antes de acceder a ella. Si simplemente escribo `user.phone`, obtendré `undefined`, pero ¿qué pasa si en el futuro alguien establece intencionalmente el valor `undefined` para esa clave? ¿Cómo puedo distinguir la situación en la que la clave no existe en absoluto de la situación en la que la clave existe pero su valor es `undefined`?
He probado varias formas:
1. `if (user.phone)` — no funciona si el valor es `false`, `0` o una cadena vacía.
2. `if (user.phone !== undefined)` — tampoco es adecuado si el valor es explícitamente `undefined`.
Por favor, indíquenme cómo verificar correcta y confiablemente la existencia de una clave en un objeto. ¿Cuáles son las mejores prácticas? ¡Gracias de antemano por la ayuda!
<<>>