箭头函数

函数的第三个符号与其他函数看起来有很大不同。 它不使用function关键字,而是使用由等号和大于号组成的箭头(=>)(不要与大于等于运算符混淆,该运算符写做>=)。

  1. const power = (base, exponent) => {
  2. let result = 1;
  3. for (let count = 0; count < exponent; count++) {
  4. result *= base;
  5. }
  6. return result;
  7. };

箭头出现在参数列表后面,然后是函数的主体。 它表达了一些东西,类似“这个输入(参数)产生这个结果(主体)”。

如果只有一个参数名称,则可以省略参数列表周围的括号。 如果主体是单个表达式,而不是大括号中的块,则表达式将从函数返回。 所以这两个square的定义是一样的:

  1. const square1 = (x) => { return x * x; };
  2. const square2 = x => x * x;

当一个箭头函数没有参数时,它的参数列表只是一组空括号。

  1. const horn = () => {
  2. console.log("Toot");
  3. };

在语言中没有很好的理由,同时拥有箭头函数和函数表达式。 除了我们将在第 6 章中讨论的一个小细节外,他们实现相同的东西。 在 2015 年增加了箭头函数,主要是为了能够以简短的方式编写小函数表达式。 我们将在第 5 章中使用它们。