美文网首页
es6解构赋值

es6解构赋值

作者: 希染丶 | 来源:发表于2019-06-19 17:33 被阅读0次

基本用法:es6允许按照一定模式,从对象和数组中提取值,对变量进行赋值,被称为解构赋值

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

只要等号两边的模式相同,左边的变量就会被赋予对应的值

Set 结构,也可以使用数组的解构赋值。

let [x, y, z] = new Set(['a', 'b', 'c']);
x // "a"

注意点:
(1)如果要将一个已经声明的变量用于解构赋值,必须非常小心。

// 错误的写法
let x;
{x} = {x: 1};
// SyntaxError: syntax error

JavaScript 引擎会将{x}理解成一个代码块,从而发生语法错误
(2)解构赋值允许等号左边的模式之中,不放置任何变量名。因此,可以写出非常古怪的赋值表达式。

({} = [true, false]);
({} = 'abc');
({} = []);

上面的表达式虽然毫无意义,但是语法是合法的,可以执行。
(3)由于数组本质是特殊的对象,因此可以对数组进行对象属性的解构

let arr = [1, 2, 3];
let {0 : first, [arr.length - 1] : last} = arr;
first // 1
last // 3

相关文章

网友评论

      本文标题:es6解构赋值

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