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 解构赋值的用法笔记相关推荐

  1. 前端学习必备之ES6解构赋值的常见用法

    1.解构赋值可以轻松获取对象或者数组中的数据 var jsonData = {data: "111",data2: ["test","test2&qu ...

  2. js之删除对象中的属性——delete、es6解构赋值、自执行匿名函数

    js之删除对象中的属性--delete.es6解构赋值.自执行匿名函数 实例 const person = {name: '李世民',gender: 'male',age: 24 };// 删除目标对 ...

  3. ES6解构赋值原理详解

    ES6解构赋值 ES6变量的解构赋值本质上是"模式匹配",只要等号两边的模式相同,左边的变量就会被赋予匹配的右边的值,如果匹配不成功变量的值就等于undefined 数组的解构赋值 ...

  4. [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}=

    [OHIF-Viewers]医疗数字阅片-医学影像-es6解构赋值-const{}=-let{}= 解构赋值语法是一种 Javascript 表达式.通过解构赋值, 可以将属性/值从对象/数组中取出, ...

  5. ES6解构赋值: ES6...转为ES5的写法

    es6的特性,主要用于 数组和对象的析构 直接上问题: 因为chrome低版本(用的55版本)不支持es6...的下面这种写法, 需要转为es5写法 function calcLinePaths() ...

  6. es6 - 解构赋值

    一 我们为什么要使用解构 在学习ES6新的特性解构赋值之前,我们先来看看为什么要使用解构,以前如果我们需要获取对象或者数组里面的数据,并且把它们存入数组,需要写很多代码.如下 const person ...

  7. ES6 解构赋值详解

    解构赋值是对赋值运算符的扩展,可以将属性/值从对象/数组中取出,赋值给其他变量. 一.数组的解构赋值 1.基本用法 只要等号两边的模式相同,左边的变量就会被赋予对应的值. let [a, [[b], ...

  8. 让java支持es6_简单看看es6解构赋值

    哎,我真的是太难了,今天就被这个解构赋值(也可以叫做析构,貌似析构是在c++中的,所以我这里叫做解构赋值吧)弄的我很烦,本来以为很容易的,结果还是弄了好久...就总结一下解构吧! 1.解构的基本使用 ...

  9. ES6解构赋值学习总结

    ES6提供了解构赋值的方式,这样子在赋值多个变量或者进行注释时可以方便很多,不同场景下也有很多新的应用,个人常使用的有数组的解构赋值,对象的解构赋值和函数参数的解构赋值,函数参数的解构赋值之前总结过, ...

最新文章

  1. 从搭建脚手架到在npm上发布react组件
  2. 苹果也像谷歌一样,玩起了自己的X
  3. matlab中predictor怎么填,在MATLAB中求解非線性有限元
  4. VTK:Medical之MedicalDemo4
  5. sts可以安装stylus插件吗_stylus 介绍 , 安装 , 使用
  6. python __getitem__()方法==>可以直接通过P[key]做运算
  7. Spring框架----Spring的bean注解
  8. 开源GIS(三)——openlayers地图基本框架与天地图加载
  9. lsdyna如何设置set中的node_list_详解MySQL数据库如何实现类似Oracle的序列?
  10. Bom Shanka Machines psymmetrix Delay for Mac(音频延迟效果器)
  11. 服务器win10系统开机慢,Win10系统开机慢怎么办 windows10开机慢的解决方法
  12. 设计原则:单一职责(SRP)原则
  13. 发现一款牛逼的 IDEA 插件:检测代码漏洞,一键修复!
  14. Skiller V3
  15. Mr.Captain东:HTML+CSS+CSS3
  16. 【观察】阿里云栖大会究竟好在哪里?
  17. 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
  18. 分享大神的一些博文、视频、资料--持续更新
  19. 【matplotlib】可视化解决方案——共享绘图区域问题
  20. Security Best Practices+Klocwork

热门文章

  1. 明晰C++内存分配的五种方法的区别
  2. 码率跟视频质量有关系
  3. 学习笔记(18):Python网络编程并发编程-守护进程
  4. mongodb php 扩展 linux,CentOS Linux 安装PHP的MongoDB扩展
  5. python时间格式_python 格式化日期
  6. 客服会话 小程序 如何发起_小程序、公众号、App三者如何融合布局?这里有一份避坑指南...
  7. c++ 虚函数的实现机制
  8. 导出oracle sequences,利用数据泵只导出序列
  9. markdown 语法_Markdown 基本语法
  10. 【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送