解析ES6中的解构赋值(数组,对象,嵌套,默认值)

 更新时间:2022年11月14日 09:43:30   作者:WaterRec  
解构赋值是一种特殊的语法,它使我们可以将数组或对象“拆包”至一系列变量中,因为有时这样更方便,接下来通过本文给大家介绍ES6中的解构赋值(数组,对象,嵌套,默认值),需要的朋友可以参考下

解构赋值

通过解构赋值,可以快速从对象或者数组中取出属性或者数值。

1.解构赋值

可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量。

const arr = ['dasha', 'ersha', 'gangdan']
let [a, b, c] = arr	//a='dasha' b='ersha' c='gangdan'
//假如需要交换ab的值 只需要
[a, b] = [b, a]

2.解构赋值嵌套

复杂的对象或者数组也可以使用这种方法。

const arr = [1, [2,3,4], 5]
let [a, [b,,d], c] = arr

console.log(a)	// 1
console.log(b)	// 2
console.log(d) 	// 4

3.解构赋值的默认值

给变量先设置好默认值,当数组或者对象中无法找到匹配的值,则将默认值赋给变量。

let [a=1] = [100] // a=100
let [b=1] = [] // b=1

4.解构赋值用在对象上时候,需要用键的方式

const obj = {
    name:'shabi',
    age:12,
}
let{age} = obj

// 为了防止age在上面被let定义过了,可以将age改名为ag
let{age:ag, err="定义err默认值即使对象中没有这个属性,也可以获取到这个默认值字符串"} = obj
console.log(err)// '定义err默认值即使对象中没有这个属性,也可以获取到这个默认值字符串'

5.解析一个从函数返回的数组

获取返回值进行解构赋值,更加方便

function test(){
    return [1,2,3]
}
let [x,y] = test()
console.log(x)	//x = 1
console.log(y)	//y = 2

6.rest写法:将剩下的所有值赋值给一个变量

这种写法只能适用于用在最后一位,无法用在开头或者中间,否则会报错。

let [a,...rest] = [1, 2, 3];
console.log(a); // 1
console.log(rest); // [2, 3]

到此这篇关于ES6中的解构赋值(数组,对象,嵌套,默认值)的文章就介绍到这了,更多相关ES6解构赋值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用webpack3.0配置webpack-dev-server教程

    使用webpack3.0配置webpack-dev-server教程

    这篇文章主要介绍了使用webpack3.0配置webpack-dev-server教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 一步步教你用js简单实现新年倒计时

    一步步教你用js简单实现新年倒计时

    一转眼已经腊月了,相信小伙伴们一定想知道我们距离2023新年还有多少天,下面这篇文章主要给大家介绍了关于如何一步步教你用js简单实现新年倒计时的相关资料,需要的朋友可以参考下
    2022-12-12
  • javascript DIV实现跟随鼠标移动

    javascript DIV实现跟随鼠标移动

    这篇文章主要为大家详细介绍了javascript DIV跟随鼠标移动,有一个div跟随鼠标移动的结果,有一连串跟随鼠标移动的效果,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • js清除input中type等于file的值域(示例代码)

    js清除input中type等于file的值域(示例代码)

    本篇文章主要介绍了js清除input中type等于file的值域(示例代码) 需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • JavaScript观察者模式(publish/subscribe)原理与实现方法

    JavaScript观察者模式(publish/subscribe)原理与实现方法

    这篇文章主要介绍了JavaScript观察者模式(publish/subscribe)原理与实现方法,简单分析了javascript观察者模式的原理、功能并结合实例形式给出了观察者模式的实现技巧,需要的朋友可以参考下
    2017-03-03
  • JS实现仿google、百度搜索框输入信息智能提示的实现方法

    JS实现仿google、百度搜索框输入信息智能提示的实现方法

    这篇文章主要介绍了JS实现仿google、百度搜索框输入信息智能提示的实现方法,实例分析了javascript实现智能提示功能的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • JavaScript实现复制文本到剪切板功能的方法小结

    JavaScript实现复制文本到剪切板功能的方法小结

    这篇文章给大家介绍了三种JavaScript实现复制文本到剪切板的方法,Clipboard API,document.execCommand以及useClipboard这三个接口,文章通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • JS中关于ES6 Module模块化的跨域报错问题解决

    JS中关于ES6 Module模块化的跨域报错问题解决

    这篇文章主要介绍了JS中关于ES6 Module模块化的跨域报错,ES6模块化提供了export命令和import 命令,对于模块的导出和引入,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 使用JavaScript实现LRU缓存的代码详解

    使用JavaScript实现LRU缓存的代码详解

    LRU(Least Recently Used)算法是一种广泛应用于内存管理和缓存系统的策略,本文将介绍LRU算法的基本原理,并通过JavaScript实现案例,帮助读者理解其在前端开发中的应用场景,需要的朋友可以参考下
    2024-05-05
  • js 动态添加元素(div、li、img等)及设置属性的方法

    js 动态添加元素(div、li、img等)及设置属性的方法

    下面小编就为大家带来一篇js 动态添加元素(div、li、img等)及设置属性的方法。小编觉得听不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07

最新评论