ECMAScript 6 学习系列课程 (ES6 默认值和解构赋值的使用)

来源:互联网 发布:多玩魔兽数据库7.1 编辑:程序博客网 时间:2024/06/05 01:07

这里写图片描述

ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

对于ES5标准,我们定义一个变量,需要这样写

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

如果用ES6标准,可以写成这样:

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

对于深层次的解构,一样可以解构赋值, 例如下面的实例:

let [foo, [[bar], baz]] = [1, [[2], 3]];foo // 1bar // 2baz // 3let [ , , third] = ["foo", "bar", "baz"];third // "baz"let [x, , y] = [1, 2, 3];x // 1y // 3let [head, ...tail] = [1, 2, 3, 4];head // 1tail // [2, 3, 4]let [x, y, ...z] = ['a'];x // "a"y // undefinedz // []

解构赋值的定义,其实在很多语法都存在,但是在Javascript的语法中能看到并使用,还是很欣慰的。

对于解构赋值,我们同样可以指定一个默认值,也就是说当没有解构成功或者没有赋予实际意义的数值时候,会启用默认值, 如下:

var [foo = true] = [];foo // true[x, y = 'b'] = ['a']; // x='a', y='b'[x, y = 'b'] = ['a', undefined]; // x='a', y='b'

对于默认值,我们在ES6 function函数中同样可以定义,比如:

function setName (name = 'Richard') {  return name:}setName();  //RichardsetName('Aison'); // Aison

这就是解构赋值啦。

0 0