解构赋值使用场景:
第一种:变量互换
例子:
{
let a=1;
let b=2;
[a,b]=[b,a];
console.log(a,b);
}
输出2,1
以前想交换变量必须要一个中间变量做存贮
场景2:
{
function f(){
return [1,2]
}
let a,b;
[a,b]=f();
console.log(a,b);
}
输出1,2
这种来接收这种数据就特别方便!以前就得先赋值给一个变量。再.[0]来取、、
场景3:
忽略某些返回值!!
{
function f(){
return [1,2,3,4,5]
}
let a,b,c;
[a,,,b]=f();
console.log(a,b);
}
输出结果为 1 4
场景4:
只想看第一个数的值,但不知道后边数组的长度。这样a就返回第一个值,b就返回后边的数组!
{
function f(){
return [1,2,3,4,5]
}
let a,b,c;
[a,...b]=f();
console.log(a,b);
}
返回1 [2,3,4,5]
讲解对象解构赋值:
对象左侧是对象的格式,右侧也是对象的格式!
{
let o={p:42,q:true};
let {p,q}=o;
console.log(p,q);
}
输出 42 true
{
let {a=10,b=5}={a:3};
console.log(a,b);
}
输出:3 5
给a重新赋值。b原来有自己的值
对象解构赋值的应用场景:
{
let Data={
title:'abc',
test:[{
title:'test',
desc:'description'
}]
}
let {title:titleA,test:[{title:titleB}]}=Data;
console.logtitleA,titleB);
}
结果:abc test