ES6随笔

本文将记录在学习ES6的过程中的问题

0. 箭头函数

Javascript中,通常的函数形式为:

1
2
3
4
5
6
function 函数A(参数1 , 参数2 , …… , 参数n){
函数体;

return 返回值;
}
let a = 函数A(参数1 , 参数2 , …… , 参数n)

当一个函数不需要函数体,只返回一个值的时候我们就通过使用箭头函数:

1
let a = (参数1 , 参数2 , …… , 参数n) => 返回值 ;

1. 运算符

1.0 rest运算符

ES6 推出了用于函数参数的 rest 操作符帮助我们创建更加灵活的函数。在rest操作符的帮助下,你可以创建有一个变量来接受多个参数的函数。这些参数被储存在一个可以在函数内部读取的数组中。请看以下代码:

1
2
3
4
5
function howMany(...args) {
return "You have passed " + args.length + " arguments.";
}
console.log(howMany(0, 1, 2)); // 输出:You have passed 3 arguments.
console.log(howMany("string", null, [1, 2, 3], { })); // 输出:You have passed 4 arguments.

rest操作符可以避免查看args数组的需求,并且允许我们在参数数组上使用map(),filter(),和reduce()

1.1 spread运算符

Javascript中我们可以通过...将数组打开,例如下述代码:

1
2
3
const arr = [1,2,3,4,5];
console.log(arr);
console.log(...arr);

控制台将输出:

1
2
[ 1, 2, 3, 4, 5 ]
1 2 3 4 5

1.2 解构赋值

解构赋值 就是可以从对象中直接获取对应值的语法。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
const LOCAL_FORECAST = {
today: { min: 72, max: 83 },
tomorrow: { min: 73.3, max: 84.6 }
};

function getMaxOfTmrw(forecast) {
"use strict";
// 在这行以下修改代码

// 在这行以上修改代码
return maxOfTomorrow;
}

如果我们需要获取tomorrow中的max值可以通过以下的写法:

1
const {max:maxOfTomorrow} = forecast.tomorrow;
1
const {tomorrow{max:maxOfTomorrow}} = forecast;

来获取。