我有一个对象"响应",我想用响应的内容填充另一个对象"user",如下所示:
var userr = {
_id: new Date().toISOString()
, authVia: "FB"
, email: response.email
, firstName: response.first_name
, lastName: response.last_name
, gender: response.gender
, hometown: response.hometown.name
, fbId: response.id
, locale: response.locale
, location: response.location.name
, timezone: response.timezone
, fbVerified: response.verified
};
Run Code Online (Sandbox Code Playgroud)
但有时response.hometown未定义,代码在日志控制台中没有任何错误就停止了.在填充"用户"之前或填充"user"时,如何检查每个对象是否以简单的方式定义?是否可以在对象中插入"if"?
谢谢
使用:
hometown: response.hometown && response.hometown.name,
Run Code Online (Sandbox Code Playgroud)
和其他元素类似.如果response.hometown未定义,则短路&&将阻止尝试评估response.hometown.name,因此您不会收到错误.