基本概念
- 本质上就是一种匹配模式,只要等号两边的模式相同,name左边的变量就可以被赋予对应的值。
- 结构赋值分为三种类型:
- 数组的结构赋值
- 对象的结构赋值
- 基本类型的结构赋值
示例一 数组的结构赋值
let [a,b,c]=[1,2,3]
console.log(a,b,c)
//输出 1 2 3
let [ a , [ [ b ] , c ] ] = [ 1 , [ [ 2 ] , 3 ]]
console.log(1 , 2, 3 )
let [ a ]=[ ];
console.log(a)
//输出undefined
示例二 对象的结构赋值
let {a,b}={b:'bbb',a:'hhh'}
console.log(a,b)
//输出 hhh bbb
let {a:b}={a:1}
console.log(b)
//输出 1
console.log(a)
//输出 报错 undefined
//这里相当于在给b赋值
示例三 基本类型的结构赋值
let [a, b, c, d] = '12345'
console.log(a, b, c, d)
//输出 1234
//这里字符串被解析为数组,5没有找到对应被赋值的对象
let {length:len}='Es6666'
console.log(len)
//输出6 这里len 是字符串的长度