深入ES6 三 解构赋值

本文详细介绍了ES6的解构赋值,包括数组和对象的解构赋值,以及默认值、嵌套解构和应用场景。解构赋值是一种模式匹配的赋值方式,允许直接从数组和对象中提取值。文中通过实例阐述了数组解构的基本用法、右值要求、默认值设定,以及对象解构的基本用法、使用圆括号的注意事项、默认值设定和右值要求。此外,还讨论了解构赋值在交换变量、定义函数参数等方面的应用。
摘要由CSDN通过智能技术生成

解构赋值

解构赋值指的是按照一定规则,直接从数组和对象中提取值,对变量进行赋值。这章主要包括:

  1. 数组的解构赋值
  2. 对象的解构赋值
  3. 嵌套与匹配模式
  4. 应用

3.1 数组的解构赋值

基本用法

解构赋值的本质是模式匹配,只要左右两边的模式相同,左边的变量就会被赋予对应的值。如果解构不成功,则返回undefined。

let [d,b,c] = [1,2,3]; // => d=1;b=2;c=3
let [[f]] = [[1]];  // =>f=1
let [e,...tail] = [1,2,3,4]; // =>e=1;tail = [2,3,4]

这里let [a, b, c]表示定义了用于数组解构的三个变量a, b, c。解构采取贪婪匹配原则,尽量解构更多的数据,并且即使模式不是完全匹配,也能部分解构成功。上面的rest(…)运算符会收录匹配到的其余数据进一个数组,但其必须出现在末尾,否则会报错。

注意:采用结构赋值的写法,变量的声明和赋值是一体的,对于let和const而言,变量不得重新声明,否则会报错。

let [a, b, c] = [1, 2, 3];
let a = 10; // 报错,因为a已经声明过了

再介绍一个乍一眼看上去容易出错的例子:

le
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值