返回顶部
首页 > 资讯 > 前端开发 > html >ES6解构赋值的原理是什么及怎么运用
  • 704
分享到

ES6解构赋值的原理是什么及怎么运用

2024-04-02 19:04:59 704人浏览 安东尼
摘要

这篇文章主要介绍“es6解构赋值的原理是什么及怎么运用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6解构赋值的原理是什么及怎么运用”文章能帮助大家解决问题。数

这篇文章主要介绍“es6解构赋值的原理是什么及怎么运用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6解构赋值的原理是什么及怎么运用”文章能帮助大家解决问题。

ES6解构赋值的原理是什么及怎么运用

数组的解构赋值

let [a, b, c] = [1, 2, 3]

同时定义多个变量,a匹配1、b匹配2、c匹配3

ES6解构赋值的原理是什么及怎么运用

解构赋值允许指定默认值,即左边变量指定默认值,右边没有对应的值,会优先输出默认值。

let [x, y = 'b'] = ['a'] // x = 'a', y = 'b'

x匹配字符a,y默认值为字符b,若右边没有对应的,默认输出字符b。

对象的解构赋值

解构不仅可以用于数组,还可以用于对象,对象的解构与数组有一个重要的不同,数组的元素是按照次序排列的,变量的取值由它的位置决定的;而对象的属性没有次序,变量必须与属性同名才能取到正确的值。

let {
    name,
    age,
    hobbies: [one, two]
} = {
    name: 'shiramashiro',
    age: 21,
    hobbies: ['骑行', '动漫']
}

比如我取age的值,改成取abc的值,由于没有和对象中的属性名对应,无法对应赋值,所以是undefined。

解构赋值的运用

交换变量的值

正常想到交换变量的值的方式

let x = 1,
    y = 2,
    temp = 0

temp = x // x = 1 = temp
x = y // y = 2 = x
y = temp // temp = 1 = y

console.log('x => ', x)
console.log('y => ', y)

利用解构赋值交换变量

let x = 1;
let y = 2;
[x, y] = [y, x];

console.log('x => ', x)
console.log('y => ', y)

这样交换变量x和y的值,写法不仅简洁,而且易读,语义非常清晰。

从函数返回多个值

函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回,有了解构赋值,就变得更加方便了。

提取hobbies数组中的第二个值

function getArray() {
    return {
        name: 'kongsam',
        age: 21,
        hobbies: ['骑行', '动漫', '羽毛球']
    }
}
console.log(getArray().name + '喜欢' + getArray().hobbies[1]) // 动漫

利用解构赋值获取hobbies数组中的第二个值

let {name, age, hobbies} = getArray()
console.log(name + '喜欢' + hobbies[1]) // 动漫

遍历Map结构

对于for...of循环遍历来说,遍历出来的值是一个数组,而解构赋值对于数组是可以“模式匹配”的,这很快速地取出键-值。

ES6解构赋值的原理是什么及怎么运用

for...of循环遍历配合解构赋值获取键-值就非常方便。

for (let [key, value] of map) {
    console.log("key => ", key)
    console.log("value => ", value)
}

ES6解构赋值的原理是什么及怎么运用

函数参数的解构赋值

// let { x = 10, y = 5 } = {}

function f({ x = 10, y = 5 } = {}) {
    return [x, y]
}

console.log(f({ x: 100, y: 50 })) // [100, 50]
console.log(f({ x: 3 })) // [3, 5]
console.log(f({})) // [10, 5]
console.log(f()) // [10, 5]

可以给函数的参数中传入对象,并且可以对传入的对象设置默认值。它将被解构到函数内部里进行使用,你也可以这样理解。

function f(x = 10, y = 5) {
    return [x, y]
}

console.log(f(100, 50)) // [100, 50]
console.log(f(3)) // [3, 5]
console.log(f()) // [10, 5]

上面的写法不一样,也会导致结果不一样

function f({ x, y } = { x: 10, y: 5 }) {
    return [x, y]
}

console.log(f({ x: 100, y: 50 })) // [100, 50]
console.log(f({ x: 3 })) // [3, undefined]
console.log(f({})) // [undefined, undefined]
console.log(f()) // [10, 5]

第三和第四个打印会有undefined,这是因为传入的x或y不对应对象属性中的值,匹配不成功所导致的。

关于“ES6解构赋值的原理是什么及怎么运用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网html频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: ES6解构赋值的原理是什么及怎么运用

本文链接: https://lsjlt.com/news/98505.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ES6解构赋值的原理是什么及怎么运用
    这篇文章主要介绍“ES6解构赋值的原理是什么及怎么运用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6解构赋值的原理是什么及怎么运用”文章能帮助大家解决问题。数...
    99+
    2024-04-02
  • ES6 解构赋值的原理及运用
    目录数组的解构赋值对象的解构赋值解构赋值的运用交换变量的值从函数返回多个值遍历Map结构函数参数的解构赋值数组的解构赋值 let [a, b, c] = [1, 2, 3] ...
    99+
    2024-04-02
  • es6解构赋值的作用是什么
    本文小编为大家详细介绍“es6解构赋值的作用是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“es6解构赋值的作用是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2024-04-02
  • es6解构赋值的概念是什么
    这篇文章主要讲解了“es6解构赋值的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6解构赋值的概念是什么”吧! 在...
    99+
    2024-04-02
  • ES6解构赋值的原理分析
    这篇文章将为大家详细讲解有关ES6解构赋值的原理分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数组的解构赋值let [a, b, c] = [1,&n...
    99+
    2023-06-15
  • es6对象解构赋值的方法是什么
    ES6对象解构赋值的方法是通过使用花括号({})来提取对象中的属性,并将其赋值给变量。具体方法为:```javascriptcons...
    99+
    2023-10-09
    es6
  • ES6怎么实现解构赋值功能
    本文小编为大家详细介绍“ES6怎么实现解构赋值功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“ES6怎么实现解构赋值功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。(1)交换变量的值[x, y]&...
    99+
    2023-06-17
  • JavaScript解构赋值的实用技巧是什么
    这篇文章跟大家分析一下“JavaScript解构赋值的实用技巧是什么”。内容详细易懂,对“JavaScript解构赋值的实用技巧是什么”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编一起深入学习...
    99+
    2023-06-28
  • ES6中怎么用解构赋值获取嵌套对象的属性
    小编给大家分享一下ES6中怎么用解构赋值获取嵌套对象的属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!用解构赋值获取嵌套对象的...
    99+
    2024-04-02
  • es6原型链是什么及怎么实现
    这篇“es6原型链是什么及怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“es6原型链是什么及怎么实现”文章吧。原型链...
    99+
    2023-07-04
  • es6继承的原理是什么
    ES6继承的原理是通过使用`class`关键字和`extends`关键字来创建子类,并通过`super`关键字调用父类的构造函数和方...
    99+
    2023-10-09
    es6
  • es6模块的原理是什么
    这篇文章主要讲解了“es6模块的原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6模块的原理是什么”吧!ES6模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及...
    99+
    2023-07-04
  • es6解构的含义是什么
    这篇文章主要讲解了“es6解构的含义是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6解构的含义是什么”吧! 在es6中...
    99+
    2024-04-02
  • es6解构的概念是什么
    本篇内容主要讲解“es6解构的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6解构的概念是什么”吧! 在es6中,解构...
    99+
    2024-04-02
  • php中的赋值运算符号是什么
    php中,等号(=)是赋值运算符,将右侧表达式的值复制到左侧变量中。它遵循的语法为:$variable = value,其中 $variable 为变量名,value 为要赋值的值。例如...
    99+
    2024-04-27
  • python不能赋值给文字的原因及解决方法是什么
    Python中不能直接将字符串赋值给变量的原因是因为Python是一种强类型语言,变量的类型是在运行时自动确定的。字符串是不可变的对...
    99+
    2023-10-25
    python
  • python中合赋值运算符的作用是什么
    这篇文章给大家介绍python中合赋值运算符的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。说明当解释器执行到复合赋值运算符时,先计算算数运算符的表达式,再将算数运算符执行后的结果赋值到等号左边的变量。复合赋...
    99+
    2023-06-20
  • go结构体赋值的方法是什么
    在Go语言中,可以使用以下两种方法给结构体赋值: 使用.(点号)操作符赋值:可以直接通过结构体变量名和成员变量名来赋值。例如: ...
    99+
    2024-02-29
    go
  • Python3中的赋值运算符有哪些及怎么用
    这篇文章主要介绍“Python3中的赋值运算符有哪些及怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python3中的赋值运算符有哪些及怎么用”文章能帮助大家...
    99+
    2024-04-02
  • Servlet的定义及运行原理是什么
    今天小编给大家分享一下Servlet的定义及运行原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.什么是servl...
    99+
    2023-07-05
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作