解构赋值

96 阅读1分钟

数组的解构

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})