首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ES6嵌套数组破坏软故障

ES6嵌套数组破坏软故障
EN

Stack Overflow用户
提问于 2018-06-19 14:30:28
回答 2查看 552关注 0票数 1

如何管理ES6中嵌套数组的软失败?

假设我们有一个带有项的嵌套数组,我们希望获得第一个项:

代码语言:javascript
运行
复制
const array = [[3,4,5,6]];
const [[firstItem]] = array; // firstItem = 3

console.log(firstItem);

我想防止数组附带null时的情况,但显然它的工作方式与处理对象软失败不一样:

代码语言:javascript
运行
复制
const array = [null];
const [[firstItem] = []] = array; // Uncaught TypeError: array is not iterable

console.log(firstItem);

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-19 14:53:51

来自破坏分配

默认值 如果从数组解压缩的值是undefined,则可以为变量分配默认值。

您的值是null,而不是undefined

代码语言:javascript
运行
复制
const array = [undefined];
const [[firstItem] = []] = array; // Uncaught TypeError: array is not iterable

console.log(firstItem);

票数 1
EN

Stack Overflow用户

发布于 2018-06-19 14:37:34

下面可以确定,默认情况下,firstItem始终是一个空数组(除了传递null值的情况外):

代码语言:javascript
运行
复制
const array = [];
const [[firstItem = []] = [] ] = array;

console.log(firstItem)

代码语言:javascript
运行
复制
const array = [[1]];
const [[firstItem = []] = [] ] = array;

console.log(firstItem)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50930905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档