JS

梗概

  • 只要是具有迭代器的对象,都能被当成数组解构
  • 可以给解构时声明的变量赋予一个默认值
    • 默认值默认就是undefined
  • 类似于模式匹配,可以不完全解构
    • 不完全解构的时候比较符合直觉,直觉一般都能判断正确
  • 也可以用把数组作为对象来解构对象object

示例

之一:综合

let [[bar|foo, [bar]] = [[2|1, [2]];
foo // 1
bar // 2
baz // 3
let [ , , third] = ["foo", "bar", "baz"];
third // "baz"
let [x, , y] = [1, 2, 3];
x // 1
y // 3
let [head, ...tail] = [1, 2, 3, 4];
head // 1
tail // [2, 3, 4]
let [x, y, ...z] = ['a'];
x // "a"
y // undefined
z // []

之一:不完全解构

let [x, y] = [1, 2, 3];
x // 1
y // 2
let [a, [b], d] = [1, [2, 3], 4];
a // 1
b // 2
d // 4

之一:对象解构数组

child::

之一:对象解构数组

let arr = [1, 2, 3];
let {0 : first, [arr.length - 1] : last} = arr;
first // 1
last // 3
指向原始笔记的链接