es6箭頭函式中return的用法
阿新 • • 發佈:2018-12-21
最近在專案中頻繁的使用了箭頭函式,在使用的過程中對return
關鍵字用法比較困惑,下面對其使用方法進行記錄:
- 如果箭頭函式的程式碼塊部分多於一條語句,就要使用大括號將它們括起來,並且使用
return
關鍵字返回
例子:
const foo = (a, b) => {
a+b;
}
foo(1, 2) // undefined
const foo1 = (a, b) => {
return a+b;
}
foo1(1, 2) // 3
凡是用大括號括起來的部分如果想拿到返回值就必須用return
關鍵字返回,否則返回undefined
。
- 如果箭頭函式只有一行語句,可以省略大括號,並且省略
return
例子:
const foo = (a, b) => a+b // 等價於const foo = (a, b) => { return a+b }
foo(1, 2) // 3
這裡的foo = (a, b) => a+b
相當於foo = (a, b) => { return a+b }
上面的用法可以用來簡化回撥函式,看下面的例子:
// 正常函式寫法
[1,2,3].map(function (x) {
return x * x;
});
// 箭頭函式寫法
[1,2,3].map(x => x * x);
可以看到,使用了箭頭函式我們省略了函式的{}
和return