概念
    es6新出来概念解构 可以理解为属性赋值

    解构类型
    分为数组解构 对象解构 字符串解构 函数参数解构

    数组解构

    1. {
    2. let a,b,reset;
    3. [a,b] = [1,2];
    4. console.log(a,b); //1 2
    5. }
    6. {
    7. let a,b,reset;
    8. [a,b,...reset] = [1,2,4,5,6,7];
    9. console.log(a,b,reset); //1 2 [4,5,6,7]
    10. }

    对象解构

    1. {
    2. let a,b;
    3. ({a,b} = {a:1,b:2})
    4. console.log(a,b); // 1 2
    5. }
    6. //带有默认值参数解构
    7. {
    8. let {a=10,b=5} = {a:3}
    9. console.log(a,b); // 3 5
    10. }

    字符串解构

    1. const [a, b, c, d, e] = 'hello';
    2. a // "h"
    3. b // "e"
    4. c // "l"
    5. d // "l"
    6. e // "o"

    函数参数解构

    1. function add([x, y]){
    2. return x + y;
    3. }
    4. add([1, 2]); // 3
    5. function move({x = 0, y = 0} = {}) {
    6. return [x, y];
    7. }
    8. move({x: 3, y: 8}); // [3, 8]
    9. move({x: 3}); // [3, 0]
    10. move({}); // [0, 0]
    11. move(); // [0, 0]