【发布时间】:2014-04-28 08:00:29
【问题描述】:
在 Node.JS 项目中,假设我有来自 API 或任何其他具有类似结构的对象的响应
{
data: {
info: {
user: {
name: "Hercules",
password: "Iamthegreatest!"
email: "hercules@olymp.gr"
}
}
}
}
访问对象的成员非常容易。但是,在访问任何值之前检查是否存在会得到 PITA。
我可以假设数据始终存在。信息、用户、姓名、密码和电子邮件可能存在也可能不存在。可以有一个没有用户的有效信息对象,也可以有一个没有电子邮件地址的有效用户。
这会导致类似的代码
if (data && data.info && data.info.user && data.info.user.email) {
var email = data.info.user.email;
}
只检查
if (data.info.user.email)
// do something
}
如果任何对象不存在,则引发错误。
有没有更短的方法来深入检查这样的结构是否存在?
【问题讨论】:
标签: javascript node.js null undefined