ES6解构赋值

本文详细介绍了JavaScript中解构赋值的概念与应用,包括数组、对象的解构方式,以及可嵌套、忽略、不完全解构等多种用法。通过实例展示了如何利用解构赋值简化代码。

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

解构赋值是对赋值运算符的扩展,针对数组或者对象进行模式匹配,然后对其中变量进行赋值

解构模型

在解构中,有下面两部分参与:
解构的源,解构赋值表达式的右边部分。
解构的目标,解构赋值表达式的左边部分。

let [a,b,c] = [1,2,3]
//a=1 b=2 c=3

书写形式可嵌套

let [a,[[b,c]] = [1,[[2],3]]

可忽略的形式

let [a, ,b] = [1,2,3]

不完全结构

let [a=1,b]=[]
//a=1 b=undefined

剩余运算符

let [a,...b] =[1,2,3]
//a=1
//b=[2,3]

字符串等

let [a, b, c, d, e] = 'hello';
// a = 'h'
// b = 'e'
// c = 'l'
// d = 'l'
// e = 'o'

对象模型的解构

基本情况

let {foo,bar} = {foo:'a' , bar:'b'}
//foo = 'a' bar= 'b'
let { baz : foo } = { baz : 'ddd' };
// foo = 'ddd'

可嵌套可忽略

let obj = {p: ['hello', {y: 'world'}] };
let {p: [x, { y }] } = obj;
// x = 'hello'
// y = 'world'
let obj = {p: ['hello', {y: 'world'}] };
let {p: [x, {  }] } = obj;
// x = 'hello'

不完全解构

let obj = {p: [{y: 'world'}] };
let {p: [{ y }, x ] } = obj;
// x = undefined
// y = 'world'

剩余运算符

let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
// a = 10
// b = 20
// rest = {c: 30, d: 40}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值