ES6 解构赋值的用法笔记

举报
IT技术分享社区 发表于 2022/12/12 22:58:09 2022/12/12
【摘要】 1、概念:解构赋值可以理解为对赋值运算符的一种扩展。它主要针对数组或者 对象进行模式匹配,然后对模式中的变量进行赋值。 2、特性:采用ES6解构赋值的方式可以代码的可读性更高、代码书写更加简洁、清晰。 3、解构模型:分为解构源、解构的目标:解构源=解构的目标 4、解构类型:分为数组类型、对象类型。

640?wx_fmt=jpeg


1、概念:解构赋值可以理解为对赋值运算符的一种扩展。它主要针对数组或者

对象进行模式匹配,然后对模式中的变量进行赋值。

2、特性:采用ES6解构赋值的方式可以代码的可读性更高、代码书写更加简洁、清晰。

3、解构模型:分为解构源、解构的目标:解构源=解构的目标

4、解构类型:分为数组类型、对象类型。

数组类型
1.基本用法
let [a,b,c]=[5,15,25];
alert(b);//15
2、嵌套用法
let [a,[b,c],d]=[5,[15,25],50];
alert(c);//25
3、可忽略用法
let [a,,b]=[5,15,25];
alert(b);//25
4、部分解构用法
let [a=5,b]=[10,20];
alert(b);//20
5、剩余运算符用法
let [a,...b]=[10,20,30,40,50];
alert(b);//20,30,40,50
6、字符串用法
let [a,b,c]="how";
alert(a);//h
alert(b);//o
alert(c);//w
对象类型
1、基本用法
let {name,age}={name="小明",age=25};
alert(name);
2、可嵌套、可忽略用法
let person = {p: ['小明', {age: 25}] };
let {p: [name, { age }] } = person;
alert(name);//小明
alert(age);//25
let person = {p: ['小王', {age: 25}] };
let {p: [name, {  }] } = person;
alert(name);//小王
3、部分解构用法
let person = {p: [{age: 30}] };
let {p: [{ age }, name ] } = person;
alert(name);//undefined
alert(age);//30
4、剩余运算符用法
let {a,...rest} = {a: 10, b: 20, c: 30, d: 40};
console.log(a);//10
console.log(rest);// Object { b: 20, c: 30, d: 40 }
5、解构默认值
let {a = 10, b = 5} = {a: 3};
console.log(a);//3
console.log(b);//b
let {a: aa = 10, b: bb = 50} = {a: 10};
console.log(aa);//10
console.log(bb);//50
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。