ES6 解构赋值的用法笔记
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
ES6 解构赋值的用法笔记相关推荐
- 前端学习必备之ES6解构赋值的常见用法
1.解构赋值可以轻松获取对象或者数组中的数据 var jsonData = {data: "111",data2: ["test","test2&qu ...
- js之删除对象中的属性——delete、es6解构赋值、自执行匿名函数
js之删除对象中的属性--delete.es6解构赋值.自执行匿名函数 实例 const person = {name: '李世民',gender: 'male',age: 24 };// 删除目标对 ...
- ES6解构赋值原理详解
ES6解构赋值 ES6变量的解构赋值本质上是"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予匹配的右边的值,如果匹配不成功变量的值就等于undefined 数组的解构赋值 ...
- [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=
[OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}= 解构赋值语法是一种 Javascript 表达式.通过解构赋值, 可以将属性/值从对象/数组中取出, ...
- ES6解构赋值: ES6...转为ES5的写法
es6的特性,主要用于 数组和对象的析构 直接上问题: 因为chrome低版本(用的55版本)不支持es6...的下面这种写法, 需要转为es5写法 function calcLinePaths() ...
- es6 - 解构赋值
一 我们为什么要使用解构 在学习ES6新的特性解构赋值之前,我们先来看看为什么要使用解构,以前如果我们需要获取对象或者数组里面的数据,并且把它们存入数组,需要写很多代码.如下 const person ...
- ES6 解构赋值详解
解构赋值是对赋值运算符的扩展,可以将属性/值从对象/数组中取出,赋值给其他变量. 一.数组的解构赋值 1.基本用法 只要等号两边的模式相同,左边的变量就会被赋予对应的值. let [a, [[b], ...
- 让java支持es6_简单看看es6解构赋值
哎,我真的是太难了,今天就被这个解构赋值(也可以叫做析构,貌似析构是在c++中的,所以我这里叫做解构赋值吧)弄的我很烦,本来以为很容易的,结果还是弄了好久...就总结一下解构吧! 1.解构的基本使用 ...
- ES6解构赋值学习总结
ES6提供了解构赋值的方式,这样子在赋值多个变量或者进行注释时可以方便很多,不同场景下也有很多新的应用,个人常使用的有数组的解构赋值,对象的解构赋值和函数参数的解构赋值,函数参数的解构赋值之前总结过, ...
最新文章
- 从搭建脚手架到在npm上发布react组件
- 苹果也像谷歌一样,玩起了自己的X
- matlab中predictor怎么填,在MATLAB中求解非線性有限元
- VTK:Medical之MedicalDemo4
- sts可以安装stylus插件吗_stylus 介绍 , 安装 , 使用
- python __getitem__()方法==>可以直接通过P[key]做运算
- Spring框架----Spring的bean注解
- 开源GIS(三)——openlayers地图基本框架与天地图加载
- lsdyna如何设置set中的node_list_详解MySQL数据库如何实现类似Oracle的序列?
- Bom Shanka Machines psymmetrix Delay for Mac(音频延迟效果器)
- 服务器win10系统开机慢,Win10系统开机慢怎么办 windows10开机慢的解决方法
- 设计原则:单一职责(SRP)原则
- 发现一款牛逼的 IDEA 插件:检测代码漏洞,一键修复!
- Skiller V3
- Mr.Captain东:HTML+CSS+CSS3
- 【观察】阿里云栖大会究竟好在哪里?
- 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
- 分享大神的一些博文、视频、资料--持续更新
- 【matplotlib】可视化解决方案——共享绘图区域问题
- Security Best Practices+Klocwork
热门文章
- 明晰C++内存分配的五种方法的区别
- 码率跟视频质量有关系
- 学习笔记(18):Python网络编程并发编程-守护进程
- mongodb php 扩展 linux,CentOS Linux 安装PHP的MongoDB扩展
- python时间格式_python 格式化日期
- 客服会话 小程序 如何发起_小程序、公众号、App三者如何融合布局?这里有一份避坑指南...
- c++ 虚函数的实现机制
- 导出oracle sequences,利用数据泵只导出序列
- markdown 语法_Markdown 基本语法
- 【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送