变量的解构赋值的用途有很多
其中最常用到的是:提取 JSON 数据、函数参数的默认值、输入模块的指定方法
知识点:
1. 完全解构和不完全解构:
完全解构即一一对应关系,不完全解构即等号左边的模式,只匹配一部分的等号右边的数组
let [x, y] = [1, 2, 3];
x // 1
y // 2
let [a, [b], d] = [1, [2, 3], 4];
a // 1
b // 2
d // 4
2. 解构成功与解析不成功:
如果解构不成功,变量的值就等于undefined。
let [bar, foo] = [1];
//foo的值都会等于undefined
3. 解构赋值允许指定默认值,可以是基本类型,也可以是表达式。ES6 内部使用严格相等运算符(===)
let [foo = true] = [];
foo // true
4. 对象的解构赋值(常常用到),以下就是一种形式(vue中使用),如果解构失败,变量的值等于undefined。
const { author, work, gameId, workInfo } = this;
5. 字符串和数据和布尔值也可以结构赋值
对于数据和布尔值值得注意的是:其解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。
参考:https://es6.ruanyifeng.com/?search=class&x=0&y=0#docs/destructuring