edit destructuring/string default

This commit is contained in:
Ruan Yifeng
2015-06-13 19:06:27 +08:00
parent 68b98678af
commit 5c7390cd0b
2 changed files with 30 additions and 32 deletions
+10 -17
View File
@@ -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
```
## 函数绑定