如何管理ES6中嵌套数组的软失败?
假设我们有一个带有项的嵌套数组,我们希望获得第一个项:
const array = [[3,4,5,6]];
const [[firstItem]] = array; // firstItem = 3
console.log(firstItem);
我想防止数组附带null
时的情况,但显然它的工作方式与处理对象软失败不一样:
const array = [null];
const [[firstItem] = []] = array; // Uncaught TypeError: array is not iterable
console.log(firstItem);
发布于 2018-06-19 14:53:51
来自破坏分配
默认值 如果从数组解压缩的值是
undefined
,则可以为变量分配默认值。
您的值是null
,而不是undefined
。
const array = [undefined];
const [[firstItem] = []] = array; // Uncaught TypeError: array is not iterable
console.log(firstItem);
发布于 2018-06-19 14:37:34
下面可以确定,默认情况下,firstItem
始终是一个空数组(除了传递null
值的情况外):
const array = [];
const [[firstItem = []] = [] ] = array;
console.log(firstItem)
const array = [[1]];
const [[firstItem = []] = [] ] = array;
console.log(firstItem)
https://stackoverflow.com/questions/50930905
复制相似问题