解决这种情况的最干净的方法是什么?
考虑到我有一个对象数组:
let originalArray = [{
personName: 'Ben'
}];
我可以这样破坏:
const [{
personName: name
}] = originalArray;
console.log(name); // "Ben"
但是,如果
originalArray
为空...let originalArray = [];
const [{
personName: name
}] = originalArray;
我得到这个错误
Uncaught TypeError: Cannot destructure property `personName` of 'undefined' or 'null'
我发现一些文章/文档解释了仅销毁一个对象时如何处理错误,但如果它是一个对象数组且该数组为空,则不会。
最佳答案
您可以为未定义的属性设置默认值
const [{
personName: name = ''
} = {}] = originalArray;
console.log(name); // ""