10.6 更多对象解构特性

10.6.1 属性值缩写

属性值缩写是对象字面量的特性:如果属性的值是通过一个变量提供的,这个变量的名字和键名一样,就可以省略这个键名。这对结构也同样有效:

let { x, y } = { x: 11, y: 8 }; // x = 11; y = 8

该声明等同于:

let { x: x, y: y } = { x: 11, y: 8 };

10.6.2 计算属性键

计算属性键是另一个对象字面量特性,同样对解构有效:可以通过一个表达式指定属性键,把表达式放在中括号里面:

const FOO = 'foo';
let { [FOO]: f } = { foo: 123 }; // f = 123

计算属性值允许你解构键是 symbol 的属性:

// Create and destructure a property whose key is a symbol
const KEY = Symbol();
let obj = { [KEY]: 'abc' };
let { [KEY]: x } = obj; // x = 'abc'

// Extract Array.prototype[Symbol.iterator]
let { [Symbol.iterator]: func } = [];
console.log(typeof func); // function

results matching ""

    No results matching ""