mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 18:32:22 +00:00
doc(function): edit arrow function
This commit is contained in:
parent
577dcc4a97
commit
013f7370fd
@ -594,12 +594,9 @@ ES6 允许使用“箭头”(`=>`)定义函数。
|
|||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
var f = v => v;
|
var f = v => v;
|
||||||
```
|
|
||||||
|
|
||||||
上面的箭头函数等同于:
|
// 等同于
|
||||||
|
var f = function (v) {
|
||||||
```javascript
|
|
||||||
var f = function(v) {
|
|
||||||
return v;
|
return v;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
@ -634,6 +631,15 @@ let getTempItem = id => { id: id, name: "Temp" };
|
|||||||
let getTempItem = id => ({ id: id, name: "Temp" });
|
let getTempItem = id => ({ id: id, name: "Temp" });
|
||||||
```
|
```
|
||||||
|
|
||||||
|
下面是一种特殊情况,虽然可以运行,但会得到错误的结果。
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
let foo = () => { a: 1 };
|
||||||
|
foo() // undefined
|
||||||
|
```
|
||||||
|
|
||||||
|
上面代码中,原始意图是返回一个对象`{ a: 1 }`,但是由于引擎认为大括号是代码块,所以执行了一行语句`a: 1`。这时,`a`可以被解释为语句的标签,因此实际执行的语句是`1;`,然后函数就结束了,没有返回值。
|
||||||
|
|
||||||
如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了。
|
如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了。
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
|
Loading…
x
Reference in New Issue
Block a user