es6解构赋值(数组解构)

解构赋值
什么是解构赋值
左边和右边一一对应进行赋值
解构赋值的分类
数组解构赋值(重点) 对象解构赋值(重点)字符串解构赋值 布尔值解构赋值 函数参数解构赋值 数值解构赋值


数组解构类型的赋值

{
 let a,b,c;
[a,b]=[1,2];
console.log(a,b);
}
{
 let a,b,c;
[a,b,c=3]=[1,2];
console.log(a,b,c); 
//打印出来的c是3,

如果没有赋值3那么C

就是undefine
}

如果解构赋值没有成功配对,那么就是undefine

let a,b,c;
[a,b,...c]=[1,2,3,4,5,6];
console.log(a,b,c)

打印出来的结构是:1 2 [3,4,5,6]

对象的解构赋值

{
let a,b;
({a,b}={a:1,b:2})
console.log(a,b)
}

解构赋值的场景
变量值之间的交换

{
let a=1;
let b=2;
[a,b]=[b,a]
console.log(a,b)
打印的值出来就交换了
}

应用场景2()

{ 
 function f(){
 return[1,2]
}
let a,b;
[a,b]=f();
console.log(a,b)
打印出来是1,2
}

应用场景3(返回多个值时可以选择去接
收某个变量,可以忽略某些)

{
function f(){
return[1,2,3,4,5]
}
let a,b,c;
[a,,,b]=f();
console.log(a,b)
}
打印出来的1,4
因为中间两个逗号是2,3

应用场景4(3和4可以混合用)

function f(){
return[1,2,3,4,5]
}
let a,b,c;
[a,...b]=f();
console.log(a,b);
打印出来是1,[2,3,4,5]

你可能感兴趣的:(es6解构赋值(数组解构))