概念
es6新出来概念解构 可以理解为属性赋值
解构类型
分为数组解构 对象解构 字符串解构 函数参数解构
数组解构
{let a,b,reset;[a,b] = [1,2];console.log(a,b); //1 2}{let a,b,reset;[a,b,...reset] = [1,2,4,5,6,7];console.log(a,b,reset); //1 2 [4,5,6,7]}
对象解构
{let a,b;({a,b} = {a:1,b:2})console.log(a,b); // 1 2}//带有默认值参数解构{let {a=10,b=5} = {a:3}console.log(a,b); // 3 5}
字符串解构
const [a, b, c, d, e] = 'hello';a // "h"b // "e"c // "l"d // "l"e // "o"
函数参数解构
function add([x, y]){return x + y;}add([1, 2]); // 3function move({x = 0, y = 0} = {}) {return [x, y];}move({x: 3, y: 8}); // [3, 8]move({x: 3}); // [3, 0]move({}); // [0, 0]move(); // [0, 0]
