箭头函数
函数的第三个符号与其他函数看起来有很大不同。 它不使用function
关键字,而是使用由等号和大于号组成的箭头(=>
)(不要与大于等于运算符混淆,该运算符写做>=
)。
const power = (base, exponent) => {
let result = 1;
for (let count = 0; count < exponent; count++) {
result *= base;
}
return result;
};
箭头出现在参数列表后面,然后是函数的主体。 它表达了一些东西,类似“这个输入(参数)产生这个结果(主体)”。
如果只有一个参数名称,则可以省略参数列表周围的括号。 如果主体是单个表达式,而不是大括号中的块,则表达式将从函数返回。 所以这两个square
的定义是一样的:
const square1 = (x) => { return x * x; };
const square2 = x => x * x;
当一个箭头函数没有参数时,它的参数列表只是一组空括号。
const horn = () => {
console.log("Toot");
};
在语言中没有很好的理由,同时拥有箭头函数和函数表达式。 除了我们将在第 6 章中讨论的一个小细节外,他们实现相同的东西。 在 2015 年增加了箭头函数,主要是为了能够以简短的方式编写小函数表达式。 我们将在第 5 章中使用它们。