JavaScript 解构

标签 javascript ecmascript-6

我在寻找有关 JavaScript 解构的信息,并在 Packt Publication 的视频系列中找到了视频“解构赋值”。在视频的一开始,我看到了以下代码:

var [a, b] = [1,2,3];
a === 1;
b === 3;

主持人然后解释了为什么变量 b 是 3 而不是 2,这对我来说似乎不正确,但我想也许我错了。

所以我用下面的代码做了一个代码笔:

var [a, b] = [1,2,3]
console.log(a,b) //1 2

正如我所料,变量 b 是 2。

有什么我遗漏和不理解的地方吗?

下面是问题视频的屏幕截图。

enter image description here

最佳答案

是的,视频是错误的,以下是获取此数组中的 3 的唯一方法(使用两个变量名称):

const [a, , b] = [1, 2, 3]; // b is 3
const [a, ...b] = [1, 2, 3]; // b is [2, 3], so b[1] is 3

另请参阅:Destructuring to get the last element of an array in es6

关于JavaScript 解构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44607181/

相关文章:

javascript - ReferenceError 带有在外部作用域中声明的 "let"变量

javascript - JS Heap 推荐内存大小

javascript - 将超链接添加到 "title"标记文本

javascript - 正则表达式:匹配未被其他字母包围的单词,并且仅在结果中包含该单词

javascript - 在 Linux 16.04 中使用 create-react-app 创建应用程序失败

javascript - 将表单数据发送到 Canvas 中的外部 pjs 草图

git - 如何使用 yarn 从 github 添加一个使用 typescript 且未编译的包?

javascript - 将更新的子状态转换为父状态

javascript - JS如何过滤数组中顶部索引处的匹配元素

javascript - ES2015 符号是否适合代替字符串作为唯一常量值?