Avatar ·

如何检查JavaScript对象是否具有某个属性?

大家好!我刚开始学习JavaScript,遇到了一个问题。我有一个从服务器返回的对象,我想在使用它之前检查它是否具有某个属性。例如,有一个用户对象: ```javascript const user = { name: '伊万', age: 30 }; ``` 我想检查它是否有 `email` 属性,如果有就输出它,如果没有就显示消息“Email未指定”。我尝试这样做: ```javascript if (user.email) { console.log(user.email); } else { console.log('Email未指定'); } ``` 但这并不总是有效。例如,如果属性存在但它的值是空字符串 `''`、`0`、`null` 或 `undefined`,那么条件 `if (user.email)` 会认为属性不存在。而我需要的是检查属性的存在性,而不是它的“真值性”。 请告诉我如何正确检查对象是否具有某个属性,无论其值如何?有哪些方法以及它们之间的区别?