数组的解构
let [a,b,c]=[1,2,3]
let [a,[b],c] = [1,[2],3]
a //1
b //2
c //3
let [a] = 1 //报错
默认值
let [a,b=2] = [3]//此时b为null
a //3
b //2,为默认值
let [a,b=2] = [3,4]//此时b为4
a //3
b //4
let [a=1,b=a] = [a]//此时b为a的值默认值
a //2
b //2,为默认值
对象的解构赋值
let p1 = {name,age}
//等同于
let p2 = {name:name,age:age}
let {name,age}={name:'hz',age:24}
name //hz
age //24
函数的解构
function sum({x,y}={x:0,y:0},{a=1,b=1}){
return [x+a,y+b]
}
sum({x:1,y:2},{a:2})//[3,3]
//ajax函数实现解构
function ajax({url,type='GET'}){//将需要的参数变为对象
}
ajax({url:'http://www.baidu.com/getDate',type为默认GET})