10.3 模式

下面的两部分包含在解构过程当中:

  • 解构源:被解构的数据。例如,解构赋值右侧的部分。
  • 解构目标:用于解构的模式。例如,解构赋值左侧的部分。

解构目标是下列三种模式之一:

  • 赋值目标。例如: x

    • 在变量声明和参数定义中,仅允许指向变量。在解构赋值中,就有更多的选择了,后面再讲解。
  • 对象模式。例如: { first: «pattern», last: «pattern» }

    • 对象模式的组成部分是属性,属性值再一次成为模式(递归地)。
  • 数组模式。例如: [ «pattern», «pattern» ]

    • 数组模式的组成部分是元素,元素再一次成为模式(递归地)。

这意味着可以任意深地内嵌模式:

let obj = { a: [{ foo: 123, bar: 'abc' }, {}], b: true };
let { a: [{foo: f}] } = obj; // f = 123

10.3.1 获取你需要的

解构一个对象,仅提取感兴趣的属性:

let { x: x } = { x: 7, y: 3 }; // x = 7

如果解构一个数组,可以选择仅提取一个前缀:

let [x,y] = ['a', 'b', 'c']; // x='a'; y='b';

results matching ""

    No results matching ""