【Js】语法糖之数组解构和拆包表达式

news2024/11/15 15:45:03

文章目录

    • 数组结构
    • 拆包表达式
    • 来源

数组结构

在ES5中:如果计划从数组中提取特定元素,就需使用元素的索引,并将其保存到变量之中。
在这里插入图片描述
在ES6中:新增数组解构功能,以简化获取数组中数据的过程。
在这里插入图片描述
数组解构采用了数组字面量的语法形式,即等号左边的变量通过在数组中的位置去取得等号右边的数组字面量相同位置的值。

数组解构还允许我们使用逗号跳过索引。 如果我们想从arr2数组中挑选出第一个、第二个和第四个元素,我们将使用这种方法。
在这里插入图片描述
ES5中如果要交换两个变量的值,会引入临时变量;
在这里插入图片描述
而在ES6中使用数组解构赋值可使代码更具有易读性
在这里插入图片描述

拆包表达式

拆包可能是一个比较难理解的概念,因为这里面真的是有魔法发生。假如说你有一个简单的赋值表达式,把对象中的house的mouse赋值为house和mouse的变量。

var data = $('body').data(), // 假设data中有mouse和house的值
  house = data.house,
  mouse = data.mouse

另一个拆包的实例(Node.js):

var jsonMiddleware = require('body-parser').json
 
var body = req.body, // body中有用户名和密码值
  username = body.username,
  password = body.password

但是在ES6中我们可以用以下语句替换:

var { house, mouse} = $('body').data() // 我们会拿到house和mouse的值的
 
var {jsonMiddleware} = require('body-parser')
 
var {username, password} = req.body

甚至在数组中也能用,简直疯狂!

var [col1, col2]  = $('.column'),
  [line1, line2, line3, , line5] = file.split('n')

来源

JS中数组的解构
JS 开发者必须知道的七个 ES6 新特性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/188586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SpringCloud复习巩固】Sentinel

sentinel 链接:https://pan.baidu.com/s/1lLJKBSDJNJgW5Lbru6NYrA 提取码:ut3g 目录 一.初识Sentinel 1.1雪崩问题及其解决方案 1.2认识Sentinel 1.3安装Sentinel控制台 1.4微服务整合sentinel 二.限流规则 2.1簇点链路 2.2流控规则 2.3流控效果…

从0~1实现 单体或微服务下 实现订单未支付超时取消功能 方案(2)-rocketmq 延迟队列方案 完整设计和源码

从0~1实现 单体或微服务下 订单未支付超时取消功能 方案(1)-java delayquene 注册中心(zookeeper/nacos)高可用方案从0~1实现 单体或微服务下 订单未支付超时取消功能 方案(2)-rocketmq 延迟队列方案 场景说明 我们日常接触的电…

IronPDF for .NET 2023.1 Crack

关于 .NET 的 IronPDF 创建、编辑和导出 PDF 文档。 IronPDF for .NET 允许开发人员在 C#、F# 和 VB.Net for .NET Core 和 .NET Framework 中轻松创建 PDF 文档。您可以选择简单的 HTML,或合并 CSS、图像和 JavaScript。IronPDF 呈现紧跟谷歌浏览器。 IronPDF 功能…

eclipse新手快捷键

1. ctrlshiftr:打开资源 这组Eclipse快捷键可以让你打开你的工作区中任何一个文件,而你只需要按下文件名或mask名中的前几个字母,比如applic*.xml。美中不足的是这组快捷键并非在所有视图下都能用。 2. ctrlo:快速outline 列出…

2023年深圳Java培训机构排名,不看后悔系列!

不忘初心,方得始终。2023,继续战斗!想要学习Java的小伙伴们看过来~深圳Java培训机构排名最新排行榜来了!靠谱的Java培训机构都在这里,总有一个你喜欢的,总能选出一个合适你的,快拿出小本本记下这…

【MyBatis】搭建MyBatis

1、MyBatis简介 1.1、MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下, iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github。iBatis一词来源…

2023年flash水坑攻击源码

1. 背景 在有授权的攻防演练中,很多时候都会用到水坑攻击或者钓鱼,目前flash钓鱼一直都在做,以前的版本中,提示flash版本过低是这样的: 下载界面是这样的(下图来源于互联网): 但是目…

javascript封装一个单向链表

单向链表 单向链表类似于火车,有一个火车头,火车头会连接一个节点,节点上有乘客,并且这个节点会连接下一个节点,以此类推。 链表的火车结构 链表的数据结构 head 属性指向链表的第一个节点。 链表中的最后一个节点指…

2023年郑州Java培训机构排名新鲜出炉,快来看看都有哪些!

郑州是一个很有发展潜力又极具竞争力的城市,很多大厂现在都在往二线城市转移,其中郑州就是一个很好的选择。所以想要在郑州有好的发展前景,就要不断提高自己的技术竞争力,Java软件开发就成为了不少小伙伴们想要提升价值技能选择的…

Pytorch 基础

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

【职工管理系统】C++全栈体系(十五)

职工管理系统 第十一章 添加职工 功能描述:按照职工的编号进行删除职工操作 一、删除职工函数声明 在workerManager.h中添加成员函数 void Del_Emp(); //删除职工void Del_Emp();二、职工是否存在函数声明 很多功能都需要用到根据职工是否存在来进行操作如&…

基于Android的综合物流系统

需求信息: (1)后台管理平台 设计实现物流管理平台,完成对司机、所载货物、出发点、目的地、运输轨迹等的管理。主要研究的内容为前后端框架的选择,对系统信息的展示与管理。 数据展示:管理人员通过不同的筛…

Redis持久化 | 黑马Redis高级篇

目录 RDB持久化 1、介绍 2、命令 3、配置 4、bgsave的fork底层原理 5、总结 AOF持久化 1、介绍 2、开启 3、三种写回策略 4、AOF后台重写 混合持久化 总结 Redisd的持久化有两种方式,分别是RDB和AOF RDB持久化 1、介绍 RDB,Redis数据备份…

软件测试项目实战【不爱听书】测试全套教程以及源码

前言 软件测试流程:需求分析—>测试计划—>测试设计—>测试执行—>测试报告 一、需求分析 “不爱听书”是一个为用户提供创作音乐和收听音频的平台。对于该项目的需求分析,提炼出相关测试点。 基本功能需求 用户可以进行注册、登录与退…

使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解+注释版)02 人脸识别 下

文章目录1 测试鉴别器2 建立生成器3 测试生成器4 训练生成器5 使用生成器6 内存查看上一节,我们已经建立好了模型所必需的鉴别器类与Dataset类。使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解注释版)02 人脸识别 上接下来,我们…

Source Insight基本使用

据说阅读Linux源码经常使用此工具;先看一下基本使用; 新建一个工程; OK以后出现下图;这是insight项目的目录; 把要阅读的源码工程加进来; 如下2个选项选中,OK; 如果下图右侧的内容没…

在Windows中操作系统下,检查Python脚本是否已运行

在Windows中操作系统下,检查Python脚本是否已运行 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 一、原理 用一个空的虚拟文件。 在进程开始时,检查文件是…

ruby 给钉钉群发消息

给钉钉群发一条工作消息用途如下: Ipa, apk,打包完成了, 可以用作测试群表格导出成功了, 一般的群消息比如后台日志报警等等 步骤如下 群设置 - 智能群助手 - 添加机器人 - 选择 - 自定义 机器人设置里面要设置一个自定义关键词, 比如这里面 我起个名字 summerxx 上篇说到我…

javaweb高校大学毕业生就业跟踪系统ssm idea maven

系统所要实现的功能分析,对于现在网络方便的管理,系统要实现毕业生可以直接在平台上进行查看所有数据信息,根据需求可以进行在线添加,删除或修改企业信息、问卷调查、问卷提交、招聘信息、投递简历、企业评价、就业调查、就业表提…

(十三)devops持续集成开发——jenkins流水线发布一个sonar qube质量检查项目

前言 在前面的内容中我们已经介绍过如何在jenkins中集成质量检查工具sonar qube,以及sonar qube服务的安装。本节内容我们通过使用jenkins构建一个包含sonar qube质量检查的流水线项目,从而实现项目部署发布上线前的代码质量检查。从而保证系统的稳定性…