1. 程式人生 > >es6箭頭函式中return的用法

es6箭頭函式中return的用法

最近在專案中頻繁的使用了箭頭函式,在使用的過程中對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

關鍵字,使函式變得更加簡潔。