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

更新日期: 2022-11-13阅读: 107标签: 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]

链接: https://www.fly63.com/article/detial/12238

es6 箭头函数的使用总结,带你深入理解js中的箭头函数

箭头函数是ES6中非常重要的性特性。它最显著的作用就是:更简短的函数,并且不绑定this,arguments等属性,它的this永远指向其上下文的 this。它最适合用于非方法函数,并且它们不能用作构造函数。

详解JavaScript模块化开发require.js

js模块化的开发并不是随心所欲的,为了便于他人的使用和交流,需要遵循一定的规范。目前,通行的js模块规范主要有两种:CommonJS和AMD

JS 中的require 和 import 区别

require 和 import 区别:遵循的模块化规范不一样,出现的时间不同。Require是CommonJS的语法,CommonJS的模块是对象,输入时必须查找对象属性。

js解构赋值,关于es6中的解构赋值的用途总结

ES6中添加了一个新属性解构,允许你使用类似数组或对象字面量的语法将数组和对象的属性赋给各种变量。用途:交换变量的值、从函数返回多个值、函数参数的定义、提取JSON数据、函数参数的默认值...

ES6中let变量的特点,使用let声明总汇

ES6中let变量的特点:1.let声明变量存在块级作用域,2.let不能先使用再声明3.暂时性死区,在代码块内使用let命令声明变量之前,该变量都是不可用的,4.不允许重复声明

ES6的7个实用技巧

ES6的7个实用技巧包括:1交换元素,2 调试,3 单条语句,4 数组拼接,5 制作副本,6 命名参数,7 Async/Await结合数组解构

ES6 Decorator_js中的装饰器函数

ES6装饰器(Decorator)是一个函数,用来修改类的行为 在设计阶段可以对类和属性进行注释和修改。从本质上上讲,装饰器的最大作用是修改预定义好的逻辑,或者给各种结构添加一些元数据。

基于ES6的tinyJquery

Query作为曾经Web前端的必备利器,随着MVVM框架的兴起,如今已稍显没落。用ES6写了一个基于class简化版的jQuery,包含基础DOM操作,支持链式操作...

ES6 中的一些技巧,使你的代码更清晰,更简短,更易读!

ES6 中的一些技巧:模版字符串、块级作用域、Let、Const、块级作用域函数问题、扩展运算符、函数默认参数、解构、对象字面量和简明参数、动态属性名称、箭头函数、for … of 循环、数字字面量。

Rest/Spread 属性_探索 ES2018 和 ES2019

Rest/Spread 属性:rest操作符在对象解构中的使用。目前,该操作符仅适用于数组解构和参数定义。spread操作符在对象字面量中的使用。目前,这个操作符只能在数组字面量和函数以及方法调用中使用。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!