es6中新加了解构和默认值,这些让我们可以省去部分判断的代码
let [a,b = 5,,d] = ['1', ,'6',8];
console.log(a,b,d);
会输出[1,5,8]
b = 5意思是如果没有值的话就默认是5,对[a,b = 5,,d]的结构后b和d之间是没有值的就算对应传入了值只是算不存在,在函数传参的时候我们可以用到这个
这里我们可以通过结构来做点事情
var [e,f,g] = this.a();
console.log([e,f,g])//接收return返回出来的值[1,2,3]
a () {
return [1,2,3]
},
对换位置
b (x,y) {
[x,y] = [y,x]
return [x,y]
},
console.log(this.b(1,2));//[2,1]
(额感觉用处一般...)
还能解构对象
obj : {
name: 'x',
age: 24,
color: 'red'
}
let {name,age,color} = this.obj;
console.log(name,age,color)//x 24 red
除了默认值这个用途现在还没有发现其他有用的场景但是学一下总归没有坏处。