箭头

箭头函数 属于 JavaScript

5 个练习

关于 箭头函数

除了函数声明和函数表达式,JavaScript 还有一种非常简洁的定义函数的语法。这类函数叫做_箭头函数_。

在这篇介绍里,我们重点关注箭头函数的书写语法。箭头函数在运作方式上还有一些差异,比如 this 绑定,这些会在别的概念里介绍。

下面比较一下函数声明和箭头函数。

function addUpTwoNumbers(num1, num2) {
  return num1 + num2;
}

// function keyword removed and => added
const addUpTwoNumbers = (num1, num2) => {
  return num1 + num2;
};

从上面的例子可以看到,箭头函数的语法:

  1. 去掉了关键字function
  2. 把标识符addUpTwoNumbers声明为const
  3. 加上了粗箭头=>

如果函数体里只有一条返回语句,像上面那个例子一样,那么可以省略{}和return关键字。

const addUpTwoNumbers = (num1, num2) => { return num1 + num2 };

// can be shortened to
const addUpTwoNumbers = (num1, num2) => num1 + num2;
// braces {} and return removed

有一种特殊情况:箭头函数只返回一个对象。这时如果想省略返回语句,就必须用括号把对象括起来。

// explicit return of object
const addUpTwoNumbers = (num1, num2) => {
  return { num1, num2 };
};

// implicit return of object
const addUpTwoNumbers = (num1, num2) => ({ num1, num2 });

形参外面要不要加括号,取决于形参的个数。

// one parameter does not need parenthesis
const square = num => num * num;

// two or more parameters need to be wrapped in parenthesis
const addUpTwoNumbers = (num1, num2) => num1 + num2;

像剩余参数和解构这样的其他概念,也可以用在箭头函数里。

通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 箭头函数