mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2024-04-21 12:32:22 +00:00
edit destructuring/string default
This commit is contained in:
+10
-17
@@ -493,25 +493,20 @@ var go = function*(){
|
||||
ES6允许使用“箭头”(=>)定义函数。
|
||||
|
||||
```javascript
|
||||
|
||||
var f = v => v;
|
||||
|
||||
```
|
||||
|
||||
上面的箭头函数等同于:
|
||||
|
||||
```javascript
|
||||
|
||||
var f = function(v) {
|
||||
return v;
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。
|
||||
|
||||
```javascript
|
||||
|
||||
var f = () => 5;
|
||||
// 等同于
|
||||
var f = function (){ return 5 };
|
||||
@@ -521,32 +516,36 @@ var sum = (num1, num2) => num1 + num2;
|
||||
var sum = function(num1, num2) {
|
||||
return num1 + num2;
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回。
|
||||
|
||||
```javascript
|
||||
|
||||
var sum = (num1, num2) => { return num1 + num2; }
|
||||
|
||||
```
|
||||
|
||||
由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。
|
||||
|
||||
```javascript
|
||||
|
||||
var getTempItem = id => ({ id: id, name: "Temp" });
|
||||
```
|
||||
|
||||
箭头函数可以与变量解构结合使用。
|
||||
|
||||
```javascript
|
||||
const full = ({ first, last }) => first + ' ' + last;
|
||||
|
||||
// 等同于
|
||||
function full( person ){
|
||||
return person.first + ‘ ‘ + person.name;
|
||||
}
|
||||
```
|
||||
|
||||
箭头函数使得表达更加简洁。
|
||||
|
||||
```javascript
|
||||
|
||||
const isEven = n => n % 2 == 0;
|
||||
const square = n => n * n;
|
||||
|
||||
```
|
||||
|
||||
上面代码只用了两行,就定义了两个简单的工具函数。如果不用箭头函数,可能就要占用多行,而且还不如现在这样写醒目。
|
||||
@@ -554,7 +553,6 @@ const square = n => n * n;
|
||||
箭头函数的一个用处是简化回调函数。
|
||||
|
||||
```javascript
|
||||
|
||||
// 正常函数写法
|
||||
[1,2,3].map(function (x) {
|
||||
return x * x;
|
||||
@@ -562,13 +560,11 @@ const square = n => n * n;
|
||||
|
||||
// 箭头函数写法
|
||||
[1,2,3].map(x => x * x);
|
||||
|
||||
```
|
||||
|
||||
另一个例子是
|
||||
|
||||
```javascript
|
||||
|
||||
// 正常函数写法
|
||||
var result = values.sort(function(a, b) {
|
||||
return a - b;
|
||||
@@ -576,7 +572,6 @@ var result = values.sort(function(a, b) {
|
||||
|
||||
// 箭头函数写法
|
||||
var result = values.sort((a, b) => a - b);
|
||||
|
||||
```
|
||||
|
||||
下面是rest参数与箭头函数结合的例子。
|
||||
@@ -646,13 +641,11 @@ addThenMult(5)
|
||||
上面的代码等同于下面的写法。
|
||||
|
||||
```javascript
|
||||
|
||||
const plus1 = a => a + 1;
|
||||
const mult2 = a => a * 2;
|
||||
|
||||
mult2(plus1(5))
|
||||
// 12
|
||||
|
||||
```
|
||||
|
||||
## 函数绑定
|
||||
|
||||
Reference in New Issue
Block a user