亲宝软件园·资讯

展开

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

WaterRec 人气:0

解构赋值

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

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]

加载全部内容

相关教程
猜你喜欢
用户评论