美文网首页
ES6语法(四) - 解构赋值

ES6语法(四) - 解构赋值

作者: ElliotG | 来源:发表于2021-01-29 20:20 被阅读0次

1. 定义

ES6允许按照一定模式从数组和对象中提取值并且赋值给多个变量, 这被称为解构(deconstructure)赋值。

数组解构
eg:

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

上面代码等价于:

let a = 1;
let b = 2;
let c = 3;

本质上,这种写法属于"模式匹配", 只要等号两边的模式相同, 左边的变量就会被赋予对应的值。

 

2. 一些复杂的例子

数组嵌套解构
eg:

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

a // 1
b // 2
c // 3

利用rest符号(...)
eg:

let [head, ...tail] = [1, 2, 3, 4];

head // 1
tail // [2, 3, 4]

eg:

let [x, y, ...z] = ['a'];

x // 'a'
y // undefined
z // []

 

3. 对象解构

数组解构按照次序, 对象解构根据属性同名。

eg:

let { x, y } = { y: "aaa", x: "bbb" };

x // "bbb"
y // "aaa"

相关文章

网友评论

      本文标题:ES6语法(四) - 解构赋值

      本文链接:https://www.haomeiwen.com/subject/gdhqtltx.html