mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-24 10:22:23 +00:00
doc(function): edit arrow function
This commit is contained in:
parent
577dcc4a97
commit
013f7370fd
@ -594,12 +594,9 @@ ES6 允许使用“箭头”(`=>`)定义函数。
|
||||
|
||||
```javascript
|
||||
var f = v => v;
|
||||
```
|
||||
|
||||
上面的箭头函数等同于:
|
||||
|
||||
```javascript
|
||||
var f = function(v) {
|
||||
// 等同于
|
||||
var f = function (v) {
|
||||
return v;
|
||||
};
|
||||
```
|
||||
@ -634,6 +631,15 @@ 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
|
||||
|
Loading…
x
Reference in New Issue
Block a user