Avatar ·

Como verificar corretamente se uma propriedade de objeto existe em JavaScript (undefined)

Olá a todos! Comecei a estudar JavaScript e me deparei com uma situação confusa. Tenho um objeto com dados do usuário e quero verificar se uma determinada propriedade existe nele. Mas estou confuso entre `undefined`, `null` e o fato de a propriedade não estar declarada. Aqui está um exemplo. Suponha que eu tenha um objeto: ```javascript const user = { name: 'Ivan', age: 25 }; ``` Quero verificar se o usuário tem a propriedade `email`. Se eu escrever: ```javascript if (user.email === undefined) { console.log('Email não informado'); } ``` Isso parece funcionar, mas ouvi dizer que fazer isso é incorreto. Por quê? Afinal, `user.email` realmente retorna `undefined`. Mas e se eu definir intencionalmente uma propriedade com o valor `undefined`? ```javascript const user2 = { name: 'Maria', ```