复习一下解构的相关语法

68 阅读1分钟

数组的解构语法:

let [变量1, 变量2...] = 数组名
变量从左到右对应数组角标从零自增的元素
​
例:
let arr = [1, 2, 3]
let [a, b, c] = arr
console.log(a)  //a = arr[1]
console.log(b)  //b = arr[2]
console.log(c)  //...
​
//变量少值多
//剩余参数
let [a, ...b] = arr
a === 1
b === [2, 3]
//按需导入
let [a, , c] = arr
a === 1
c === 3 

多维数组解构

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

对象的解构语法:

let {对象对应属性名1, 对象对应属性名2...} = obj
大括号内必须使用对应的属性名
​
例:
const obj = {
    name: 'joker',
    say(){
        console.log('*中华嘴臭*')
    }
}
const {name, say} = obj
console.log(name)   //name = obj.name
console.log(say)     //say = obj.say

解构对象并重命名属性

let obj = {
    name: 'aaa'
}
let [name: username] = obj

多维对象解构

let obj = {
    name: aaa,
    age: 10,
    family: {
        mother: bbb
    }
}
///对象是无序的,需要解构对象中的对象,要在次级对象前加上属性名
let {name, age, famili:{mother}} = obj
mother === bbb