不仅仅能赋值给变量

如果通过解构赋值,每一个赋值对象都可以是任何的通常能在左侧接受赋值的东西,包括指向属性的引用( obj.prop )和指向数组元素的引用( arr[0] )。

let obj = {};
let arr = [];

({ foo: obj.prop, bar: arr[0] }) = { foo: 123, bar: true };

console.log(obj); // {prop:123}
console.log(arr); // [true]

也可以通过剩余操作符(...)赋值给对象属性和数组元素:

let obj = {};
[first, ...obj.rest] = ['a', 'b', 'c'];
    // first = 'a'; obj.rest = ['b', 'c']

results matching ""

    No results matching ""