ES6解构赋值

本文深入探讨了ES6中的解构赋值特性,通过实例展示了如何从数组和对象中提取值并赋给变量。解构赋值允许模式匹配,支持默认值,并能处理嵌套结构。此外,还解释了如何在解构过程中引用其他已声明的变量。最后,文章通过实际例子解析了对象深层次属性的解构赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称为解构
var [a,b,c] = [1,2,3] //a=1.b=2.c=3
这种写法属于‘模式匹配’,只要等号两边的模式相同,左边的变量就会被赋予对应地值
let [aa, [[bb], cc] = [1, [[2], 3]] //aa=1, bb=2, cc=3
let [x, …y] = [1,2,3,4] //x=1,y=[2,3,4]
let [aaa,bbb] = [11] //aaa=11, bbb=undefined

解构值允许指定默认值
let [aaa = true] = [] //aaa = true
let [aa, bb=1] = [11] //aa=11, bb=1
let [xa, xb = 22] = [11, undefined] //xa = 11, xb = 22
es6内部使用严格的相等运算符判断一个位置是否有值,只有当一个成员严格等于undefined时才能使用默认值

默认值可以引用解构赋值的其他变量,但是该变量必须已经声明
let [d=1, e=d] = [] //d=1 e=1
let [g=2, h=g] = [2] //g=2, h=2
let [i=3, j=i] = [11,22] //i=11, j =22
let [k=m, m =1] = [] //报错,m未定义

在这里插入图片描述
在这里插入图片描述

let obj2 = {
            ob:{
                st:{
                    fir:1,
                    las:5
                }
            }
        }
        let {ob, ob:{st},ob:{st:{fir}}} = obj2 //ob={st: {…}} st={fir: 1, las: 5}  fir=1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值