我想从JavaScript对象中提取属性(如下),但要保护自己免受对象为null或未定义以及属性不存在的影响。也就是说,我希望这些值只是未定义的,并且没有JavaScript错误。
const {id,username,userFirstName,userLastName} = attendeeResults;
答案 0 :(得分:1)
您可以使用逻辑运算符来实现此目标,例如以下示例:
const nullObject = null;
const { foo, bar } = nullObject || {};
console.log(foo, bar);
答案 1 :(得分:1)
JavaScript允许您在分解对象时定义默认值。 例如:
const {id: 0,username:'',userFirstName:'',userLastName:''} = attendeeResults;
但是如果您的attendeeResults
对象为null或未定义,则销毁会引发错误。
答案 2 :(得分:0)
您可以使用以下内容,请注意,我在attendee
中省略了用户名,以表明它保留了空值。
const attendeeResults = { id: 1, userFirstName: 'John', userLastName: 'Smith'}
const obj = {
id: null,
username: null,
userFirstName: null,
userLastName: null
};
Object.assign(obj, attendeeResults);
console.log(obj);
答案 3 :(得分:0)
这可以通过以下方式完成:
const {id, username, ...rest} = {id: 10, username: 'u', firstname:'behzad',lastname:'besharati'};
console.log(id,username,rest);