es6解构赋值总结
es6解构赋值总结
数组赋值(根据数组顺序依次赋值)
let a = 1,b = 2,c = 3 //多个变量定义赋值
let [a,b,c] = [1,2,3] //等同let a = 1,b = 2,c = 3
let [a,b,c] = [1,2] // c = undefined
let [a,b,c=33] = [1,2,3] // c=3。可以设置默认值,33是默认值,会被数组值覆
let [a,b,c=33] = [1,2,null] // c=null
对象赋值(根据属性名赋值)
let user = {
name: 'jmh',
sex: 'male'
}
let {name,sex} = user // name = 'jmh',sex='male'
let {sex} = user // sex='male'
字符串赋值(等同数组)
let [a,b,c] = 'jmh' // a='j',b='m',c='h'
for...of 遍历map对象应用数组解构
let mapObj = new Map() // 初始化map需要一个二维数组或者空数组
mapObj.set('name','jmh')
mapObj.set('sex','male')
// 等同于 new Map([['name', 'jmh'], ['sex', 'male']])
/* Map(2)
[[Entries]]
0: {"name" => "jmh"}
1: {"sex" => "male"}
size: 2
__proto__: Map */
console.log(mapObj)
for(let i of mapObj) { // mapObj = new Map([['name', 'jmh'], ['sex', 'male']])
console.log(i) // (2) ["name", "jmh"]
// (2) ["sex", "male"]
}
// 利用数组的解构赋值
for(let [key,val] of mapObj) {
console.log(key)
console.log(val)
}
用作记录学习和工作中发现的问题,如有错误欢迎指教

浙公网安备 33010602011771号