我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript的解构用法有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript的解构用法有哪些

本篇文章给大家分享的是有关JavaScript的解构用法有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

解构是JavaScript中的一个强大工具。它可以从数组和对象中提取出有意义的变量,并用解构来处理JSON数据、嵌套对象或数组非常方便。

下面的示例展示了创建解构赋值表达式的最简单的方法之一:

JavaScript的解构用法有哪些

如果左侧的解构表达式中传递的变量名与对象属性不匹配,则将该值作为undefined进行分配。虽然这个例子看起来非常简单,但它还可以通过解构语法实现更多可能。

一起去探索一些解构用例吧。

通过解构别名进行重命名

无论是在顶级对象中,还是在需要导入库时,别名都有助于防止重名,在import语句中解构别名与解构对象不同:

import { some-func1, some-func2 } from 'some-library';//use aliasing import { some-func1 as newFunc } from 'some-library'; newFunc();import { * as some-library } from 'some-library'

要提供一个与属性名不同的解构变量,需要使用冒号语法来指定它,如下所示:

const { work: {job : profession} } = person; console.log(profession) // Blogger

使用解构表达式交换变量

通常会使用一个临时变量进行交换,示例如下(也可以通过一个数学公式和XOR运算符来做):

let a = 1; let b = 2; let temp;  temp = a; a = b; b = temp;

通过解构,可以在单个表达式中轻松地交换变量,如下所示:

[a, b] = [b, a];

更有趣的一点是,解构能够交换n个变量:

[a, b, c] = [b, c, a]

访问嵌套属性并设置默认值

解构也适用于嵌套对象,并有助于避免长链列表。示例如下:

const person = {   name: 'Fred',   age: 26,   work: {     job: 'Blogger'   } };const {work: {job} } = person; console.log(job); //prints: Blogger

注意,在上面的代码中,work 引用没有被解构,只有最后一个嵌套属性被分配给变量—job。为了使work 也得到嵌套属性,我们需要

const {work, work: {job} } = person;

如果被解构对象中不存在键值,则会得到undefined 值。可以通过设置一个默认值来避免这种情况,如下所示:

JavaScript的解构用法有哪些

现在考虑一下work 的属性是否完全不可用。在这种情况下,需要用以下方式来书写上面的解构表达式:

const { work: { job = 'NA', salary = 'NA'} = {} } = person;

在解构中使用计算属性

到目前为止,都在利用静态键值进行解构。但是对于具有动态键值的对象,需要使用计算属性。计算属性用方括号指定,如下所示:

const person = {   name: 'Fred',   work: {     job: 'Blogger'   } };let name = 'name'const { [name] : username } = person; console.log(username); //Fred

也可以创建属性数组,如下所示:

JavaScript的解构用法有哪些

访问数组元素

就像对象解构一样,数组解构也可以通过语法实现,如下所示:

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

可以在=后面为每个解构变量设置默认值。如果有不想分配给局部变量的项目,也可以选择跳过。可以通过逗号操作符来实现:

//skips the 2nd element const [first,,third] = arr;

对一个大数组使用逗号操作符可能是一项乏味的任务,我们可以使用类似语法的对象解构——通过索引访问元素,如下所示:

const arr = ['a','b','c','d'];const {0: first, 3: fourth} = arr; console.log(fourth) //d const {0: first, 3: fourth, 9: tenth = 'z'} = arr;

上一条语句中定义了一个默认值,以防数组没有索引。也可以用访问对象的方式来访问嵌套数组元素:

const arr = ['a', [1, 2, 3] const [first, [one, two, three]] = arr;

使用Rest语法省略属性

Rest语法用于挑选多个元素并将它们设置为一个新元素,这有助于解构时省略某个属性。

const arr = ["Hello", "How" , "are","you"];var [hello,...remaining] = arr; console.log(remaining) // ["How" , "are", "you"]

上述表达式也可以用于克隆数组。可以使用相同的逻辑来检索或删除嵌套对象:

JavaScript的解构用法有哪些

解构可能看起来有些棘手,但一旦适应了,就可以利用它创建特定的模式,快速获取所需要的东西。尽快掌握它吧!

以上就是JavaScript的解构用法有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript的解构用法有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript代码重构的方法有哪些

这篇文章主要介绍了JavaScript代码重构的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript代码重构的方法有哪些文章都会有所收获,下面我们一起来看看吧。1.提炼函数在 JavaS
2023-06-27

JS解构的使用方法有哪些

这篇文章主要介绍“JS解构的使用方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS解构的使用方法有哪些”文章能帮助大家解决问题。1. 交换变量(Swap variables)交换2个变量的
2023-07-04

JavaScript解构赋值的常见场景有哪些

这篇文章主要为大家展示了“JavaScript解构赋值的常见场景有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript解构赋值的常见场景有哪些”这篇文章吧。1. 提取数据先来看
2023-06-25

JavaScript函数的用法有哪些

这篇文章将为大家详细讲解有关JavaScript函数的用法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 声明函数//声明函数function 函数名() { //函数体代码}functi
2023-06-21

JavaScript中有哪些语法和代码结构

JavaScript中有哪些语法和代码结构?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对浏览器事件做出
2023-06-14

JavaScript实现树结构转换的方法有哪些

本文小编为大家详细介绍“JavaScript实现树结构转换的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript实现树结构转换的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在
2023-07-05

javascript中有哪些this用法

本篇内容介绍了“javascript中有哪些this用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!javascript中this用法:1
2023-06-14

javascript的setTimeout()使用方法有哪些

这篇文章主要介绍“javascript的setTimeout()使用方法有哪些”,在日常操作中,相信很多人在javascript的setTimeout()使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
2023-06-25

JavaScript Switch语句的用法有哪些

JavaScript的Switch语句用于根据不同的条件执行不同的操作。下面是Switch语句的用法:1. 基本用法:```javascriptswitch(expression) {case value1:// code blockbre
2023-09-05

swing的常用构造方法有哪些

swing的常用构造方法有:1. JFrame():创建一个新的顶层窗口。2. JFrame(String title):创建一个新的顶层窗口,并设置窗口标题。3. JDialog():创建一个新的对话框。4. JDialog(Frame
2023-08-26

编程热搜

目录