解构赋值

对象的解构赋值

et {对象的属性名: 要声明的变量名} = 对象
就会自动声明一个变量出来,变量的值就是对象中对应的属性的值
如下例子:

let obj = {
    name: '华为',
    age: 30
}
let name1 = obj.name // 以前的赋值
let {name: name2} = obj // 解构赋值
console.log(name1) // 华为
console.log(name2) // 华为

如果对象的属性名和要声明的变量名同名可以简写成一个

let obj = {
    name: '华为',
    age: 30
}
// let { name: name, age: age } = obj; 
// 对象的属性名name/age和变量名name/age相同,则可以简写成一个
let {name, age} = obj
console.log(name, age) // 华为 30
// 主要应用于:import { 要导入的内容, 要导入的内容 } from "模块"
function test ({name, age}){
    console.log(name, age) 
}
test(obj)

数组的解构赋值

可以从数组中提取值,按照对应位置,对变量赋值

let arr = [1, 2, 3, 4]
let [num1, num2, num3, num4] = arr

也可以这样

let [num1, , , num4] = arr
console.log(num1) // 1
console.log(num4) // 4

二维数组

let arr = [[1, 2], [3, 4]]
let [[num1, num2], [num3, num4]] = arr
console.log(num1, num2, num3, num4) // 1 2 3 4
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。