聊聊JS ES6中的解构


Posted in Javascript onApril 29, 2021

概述

es6新增了一种从数组或者对象中获取指定元素的方式,这种方式就是我们今天要说的解构。

先来说说数组的解构

在有解构之前呢,我们获取数组中的指定元素通常是根据索引去做的:

const arr = [1, 2, 3]; 
const a = arr[1];

有了解构之后呢,我们便可以使用如下方式快速的去获取数组中的某个元素:

const arr = [1, 2, 3];
const [a, b, c] = arr;

console.log(a);
console.log(b);
console.log(c);

这样打印出a, b, c的值分别是:

1

2

3

如果我们只想获取前两个元素呢,那么我们可以这样写:

const arr = [1, 2, 3];
const [a, b] = arr;

console.log(a);
console.log(b);

我们也可以结合扩展运算符获取数组中指定的多个元素,比如:

const arr = [1, 2, 3];
const [a, ...brr] = arr;

console.log(a);
console.log(brr);

这样brr就是除了1以外的其他元素组成的数组,打印出a, brr的值分别是:

1

[2, 3]

那如果我们只想获取数组中的某一个元素呢?比如我只想获取数组中的2,又该如何去写呢?

const arr = [1, 2, 3];
const [, a] = arr;
console.log(a);

以上我们通过一个逗号占位确保我们解构和数组本身的位置是一致的来获取到特定位置的某个元素。
可以看到,解构的出现方便了我们去获取数组指定位置的一个或多个元素。这也是他在代码中的一个重要的应用。

说完数组的解构,我们再来聊聊

对象的解构

与数组解构不同的是,对象的解构是根据属性名去匹配的,因为对象不像数组下标那样有顺序,因此它不能用下标去提取。
就比如我们定义一个对象obj,我们想获取他的name属性值就可以这样写:

const obj = {
    name: 'wudixiaodoujie',
    age : 18
};
const { name } = obj;
console.log(name);
wudixiaodoujie

const age = 0;
const { age: perAge } = obj;
console.log(perAge);
18

对象的解构应用还是比较广的,比如我们需要频繁的调用对象的某个属性或方法就可以通过解构将其赋值给一个变量,通过一个变量去调用可以在一定程度上减少代码量。

以上就是JS ES6中的解构的详细内容,更多关于JS ES6中的解构的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
Jquery AJAX 框架的使用方法
Nov 03 Javascript
优化innerHTML操作(提高代码执行效率)
Aug 20 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
Aug 09 Javascript
javascript中match函数的用法小结
Feb 08 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
使用jQuery获得内容以及内容的属性
Feb 26 Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 Javascript
分享我的jquery实现下拉菜单心的
Nov 29 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
Feb 23 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
JavaScript中为事件指定处理程序的五种方式分析
Jul 27 Javascript
使用apifm-wxapi模块中的问题及解决方法
Aug 05 Javascript
详解TypeScript中的类型保护
Apr 29 #Javascript
7个你应该知道的JS原生错误类型
Apr 29 #Javascript
使用vue-element-admin框架从后端动态获取菜单功能的实现
如何使用JavaScript策略模式校验表单
Apr 29 #Javascript
react中props 的使用及进行限制的方法
Apr 28 #Javascript
React Hook用法示例详解(6个常见hook)
vue使用v-model进行跨组件绑定的基本实现方法
You might like
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
js截取函数(indexOf,join等)
2010/09/01 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
js判断空对象的实例(超简单)
2016/07/26 Javascript
windows下vue-cli导入bootstrap样式
2017/04/25 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
setTimeout时间设置为0详细解析
2018/03/13 Javascript
Angular Renderer (渲染器)的具体使用
2018/05/03 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python实现的双色球生成功能示例
2017/12/18 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
人工神经网络算法知识点总结
2019/06/11 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
企业形象策划方案
2014/05/29 职场文书
技术股份合作协议书
2014/10/05 职场文书
教师党的群众路线学习心得体会
2014/11/04 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
高考学习决心书
2015/02/04 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书