结构赋值

什么是解构赋值:

左边一个结构,右边一个结构分别赋值 //解构:分解,结构,赋值

结构:数组结构和对象结构

解构:ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值(这种方式相当于模式匹配,当两边模式相同时,左边配给右边)

解构赋值的分类:

数组结构赋值(重点)

对象结构赋值(重点)

字符串结构赋值

布尔值结构赋值

函数参数结构赋值(数组结构赋值在函数参数的作用)

数值结构赋值

块作用域:用{}括起来就形成一个块,因为let变量不能重复声明

小结:

1.当右边的没有被赋值时,没配对成功时,数据类型为undefined

2.用作变量交换,(因为可以不需要中间变量)

3.获取函数内部的值

4.对象结构赋值,左边必须是一个对象,右边也必须是一个对像

…扩展运算符,展开运算符

赋值过程:

undefined会触发默认值

只要不是undefined就不会触发默认值

先从右边向左边赋值,再来默认值,挨个赋值

数组是连续的,对象是不连续

对象的格式:

什么是模式相同,指的是两边数组,或对象类型相同

{

let a,b,rest;

//数组类型的结构

[a,b]=[1,2];

//相当于let a=1;b=3;

console.log(a,b);

}//结果为:1,2

{

let a,b,rest;

[a,b,…rest]=[1,2,3,4,5,6];

console.log(a,b,rest);

} //结果为1,2,【3,4,5,6】

//对象结构赋值,不是顺序的,按属性的名称进行赋值

{

let a,b;

({a,b}={a:1,b:2})

console.log(a,b);

}

//1,2

{

let a,b,c,rest;

[a,b,c]=[1,2];

//[a,b,c=3]=[1,2]

console.log(a,b,c);

}1,2,undefined

//用作值交换,而不需要一个中间变量

{

let a=1;

let b=3;

[a,b]=[b,a]

console.log(a,b);

}

//获取函数内部的变量

{

function f(){

​ return [1,2]

}

let a,b;

[a,b]=f();

console.log(a,b);

}

//获取函数返回值

{

function f(){

​ return [1,2,3,4,5]

}

let a,b,c;

[a,b]=f(); //a=1,b=4

//[a,…b]=f();//a=1,b=[2,3,4,5]

console.log(a,b);

}

//对象的结构赋值

{

let o ={p:42,q:ture}

let {p,q}=o;

console.log(p,q)

}42 true

//嵌套解构赋值

{

let {a=10,b=5}={a:3};

} 3,5

let metData={

ti:“njx”,

test:[{

​ ti:“test”,

​ desc:“ced”

}]

}

let {ti:esT,test:[{ti:cnt}]} = metData;

//njx test

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tpYwlF0U-1618995788886)(C:\Users\97950\AppData\Roaming\Typora\typora-user-images\image-20210311172136411.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wZQdMJZ1-1618995788893)(C:\Users\97950\AppData\Roaming\Typora\typora-user-images\image-20210311172315757.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fM1WHI5J-1618995788897)(C:\Users\97950\AppData\Roaming\Typora\typora-user-images\image-20210311172914776.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mwHl1m1-1618995788903)(C:\Users\97950\AppData\Roaming\Typora\typora-user-images\image-20210316102611943.png)]

通过索引访问,其中0也可以用[]包起来

JSON.parse(json)将字符串转换为json格式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值