ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。
- 解构赋值:按照相同的结构给对应的值
{
let a = 2;
let b = 3;
let t;
t= a;
a=b;
b=t;
console.log(a,b);
let [q,w,e] = [1,2,3];
console.log(q,w,e);
}
- …扩展运算符 拆分集合
{
let a=[1,2,3];
let b=[...a];
b[0]=0;
console.log(a);
}
- 对象解构赋值 对象里面找不到对应的属性也是undefined
let {id,name}={id:10086,name:"张三"};
console.log(id,name);
let {id,name,sex}={id:10086,name:"张三"};
console.log(sex);
- 数组和对象解构混合
let {id,name,hobby}={id:10086,name:'等等',hobby:[1,2,3]}
console.log(hobby);
- 函数形参解构赋值
function method([a,b,...c])
{
console.log(a,b,c);
}
method([1,2,3,4,5,6]);
[[1,2],[3,4]].map(function ([a,b],index){
console.log(a,b,index);
});