【ES6复习笔记】解构赋值(2)

介绍

解构赋值是一种非常方便的语法,可以让我们更简洁地从数组和对象中提取值,并且可以应用于很多实际开发场景中。

1. 数组的解构赋值

数组的解构赋值是按照一定模式从数组中提取值,然后对变量进行赋值。下面是一个例子:

const F4 = ['小沈阳', '刘能', '赵四', '宋小宝'];
let [xiao, liu, zhao, song] = F4;
console.log(xiao); // 输出: 小沈阳
console.log(liu); // 输出: 刘能
console.log(zhao); // 输出: 赵四
console.log(song); // 输出: 宋小宝

在这个例子中,我们定义了一个数组 F4,然后使用解构赋值将数组中的元素分别赋值给变量 xiaoliuzhaosong

2. 对象的解构赋值

对象的解构赋值是按照一定模式从对象中提取值,然后对变量进行赋值。下面是一个例子:

const zhao = {name: '赵本山',age: '不详',xiaopin: function() {console.log("我可以演小品");}
};let { name, age, xiaopin } = zhao;
console.log(name); // 输出: 赵本山
console.log(age); // 输出: 不详
console.log(xiaopin); // 输出: [Function: xiaopin]
xiaopin(); // 输出: 我可以演小品

在这个例子中,我们定义了一个对象 zhao,然后使用解构赋值将对象中的属性分别赋值给变量 nameagexiaopin

复杂解构赋值

// 复杂解构
let wangfei = {name: '王菲',age: 18,songs: ['红豆', '流年', '暧昧', '传奇'],history: [{name: '窦唯'},{name: '李亚鹏'},{name: '谢霆锋'}]
};
let {songs: [one, two, three], history: [first, second, third]} = wangfei;

3. 解构赋值的应用场景

解构赋值在实际开发中有很多应用场景,比如:

  • 函数参数的解构赋值,可以简化函数调用时的参数传递。
  • 从 API 返回的数据中提取需要的数据。
  • 交换变量的值。

下面是一个交换变量值的例子:

let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a); // 输出: 2
console.log(b); // 输出: 1

在这个例子中,我们使用解构赋值来交换变量 ab 的值。

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

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

相关文章

爬虫数据存储:Redis、MySQL 与 MongoDB 的对比与实践

爬虫的核心任务是从网络中提取数据,而存储这些数据是流程中不可或缺的一环。根据业务需求的不同,存储的选择可能直接影响数据处理的效率和开发体验。本文将介绍三种常用的存储工具——Redis、MySQL 和 MongoDB,分析它们的特点,并提…

【Python】使用匿名函数Lambda解析html源码的任意元素(Seleinium ,BeautifulSoup皆适用)

一直都发现lambda函数非常好用,它可以用简洁的方式编写小函数,无需写冗长的过程就可以获取结果。干脆利落! 它允许我们定义一个匿名函数,在调用一次性的函数时非常有用。 最近整理了一些,lambda函数结合BeautifulSou…

Bash语言的语法

Bash语言简介与应用 Bash(Bourne Again SHell)是一种Unix Shell和命令语言,在Linux、macOS及其他类Unix系统中被广泛使用。作为GNU项目的一部分,Bash不仅是对早期Bourne Shell的增强,还引入了许多特性和功能&#xff…

Ingress-Nginx Annotations 指南:配置要点全方面解读(下)

文章目录 1.HTTP2 Push Preload2.Server Alias3.Server snippet4.Client Body Buffer Size5.External Authentication6.Global External Authentication7.Rate Limiting8.Global Rate Limiting9.Permanent Redirect10.Permanent Redirect Code11.Temporal Redirect12.SSL Passt…

互联网路由架构

大家觉得有意义和帮助记得及时关注和点赞!!! 本书致力于解决实际问题,书中包含大量的架构图、拓扑图和真实场景示例,内容全面 且易于上手,是不可多得的良心之作。本书目的是使读者成为将自有网络集成到全球互联网 领域的专家。 以下是笔记内…

【Flutter_Web】Flutter编译Web第三篇(网络请求篇):dio如何改造方法,变成web之后数据如何处理

前言 Flutter端在处理网络请求的时候,最常用的库当然是Dio了,那么在改造成web端的时候,最先处理的必然是网络请求,否则没有数据去处理驱动实图渲染。 官方链接 pub https://pub.dev/packages/diogithub https://github.com/c…

Spring Boot @Conditional注解

在Spring Boot中,Conditional 注解用于条件性地注册bean。这意味着它可以根据某些条件来决定是否应该创建一个特定的bean。这个注解可以放在配置类或方法上,并且它会根据提供的一组条件来判断是否应该实例化对应的组件。 要使用 Conditional注解时&#…

项目上传到gitcode

首先需要在个人设置里面找到令牌 记住自己的账号和访问令牌(一长串),后面git要输入这个, 账号是下面这个 来到自己的仓库 #查看远程仓库,是不是自己的云仓库 git remote -v # 创建新分支 git checkout -b llf # 三步…

【Rust自学】6.4. 简单的控制流-if let

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 6.4.1. 什么是if let if let语法允许将if和let组合成一种不太冗长的方式来处理与一种模式匹配的值,同时忽略其余模式。 可以…

【Git学习】windows系统下git init后没有看到生成的.git文件夹

[问题] git init 命令后看不到.git文件夹 [原因] 文件夹设置隐藏 [解决办法] Win11 win10

vscode添加全局宏定义

利用vscode编辑代码时,设置了禁用非活动区域着色后,在一些编译脚本中配置的宏又识别不了 遇到#ifdef包住的代码就会变暗色,想查看代码不是很方便。如下图: 一 解决: 在vscode中添加全局宏定义。 二 步骤&#xff1a…

【服务器主板】定制化:基于Intel至强平台的全新解决方案

随着数据处理需求不断增长,服务器硬件的发展也在持续推进。在这一背景下,为用户定制了一款全新的基于Intel至强平台的服务器主板,旨在提供强大的计算能力、优异的内存支持以及高速存储扩展能力。适用于需要高性能计算、大规模数据处理和高可用…

php怎么去除数点后面的0

在PHP中,我们可以使用几种方法来去除数字小数点后的0。 方法一:使用intval函数 intval函数可以将一个数字转化为整数,另外,它也可以去除小数点后面的0。 “php $number 123.4500; $number intval($number); echo $number; // 输…

数字后端培训项目Floorplan常见问题系列专题续集1

今天继续给大家分享下数字IC后端设计实现floorplan阶段常见问题系列专题。这些问题都是来自于咱们社区IC后端训练营学员提问的问题库。目前这部分问题库已经积累了4年了,后面会陆续分享这方面的问题。 希望对大家的数字后端学习和工作有所帮助。 数字后端项目Floor…

【递归,搜索与回溯算法 综合练习】深入理解暴搜决策树:递归,搜索与回溯算法综合小专题(二)

优美的排列 题目解析 算法原理 解法 :暴搜 决策树 红色剪枝:用于剪去该节点的值在对应分支中,已经被使用的情况,可以定义一个 check[ ] 紫色剪枝:perm[i] 不能够被 i 整除,i 不能够被 per…

Java中各种数组复制方式的效率对比

在 Java 中,数组复制是一个常见的操作,尤其是在处理动态数组(如 ArrayList)时。Java 提供了多种数组复制的方式,每种方式在性能和使用场景上都有所不同。以下是对几种主要数组复制方式的比较,包括 System.a…

视频会议是如何实现屏幕标注功能的?

现在主流的视频会议软件都有屏幕标注功能,屏幕标注功能给屏幕分享者讲解分享内容时提供了极大的方便。那我们以傲瑞视频会议(OrayMeeting)为例,来讲解屏幕标注是如何实现的。 傲瑞会议的PC端(Windows、信创Linux、银河…

Framework开发入门(一)之源码下载

一、使用Linux操作系统的小伙伴可以跳转到官网链接按提示操作 官网源码地址:下载源代码 | Android Open Source Project 1.创建一个空目录来存放您的工作文件。为其指定一个您喜欢的任意名称: mkdir WORKING_DIRECTORYcdWORKING_DIRECTORY …

改进爬山算法之四:概率爬山法(Probabilistic Hill Climbing,PHC)

概率爬山法(Probabilistic Hill Climbing,PHC)是一种局部搜索算法,它结合了随机性和贪婪搜索的特点,是对爬山算法(Hill Climbing Algorithm)的一种变体或扩展。与传统的爬山法不同,PHC不是总是选择最优的邻居作为下一步的移动,而是以一定的概率选择最优邻居,同时以一…

Unity中实现人物残影效果

今天火柴人联盟3公测了,看到一个残影的效果,很有意思,上网查询了一下实现方式, 实现思路: 将角色的网格复制出来,然后放置到新建的物体的MeshFilter组件上,每隔几十毫秒在玩家的位置生成一个&a…