箭头函数在 JavaScript 里面,是 ES6(ES2015)才加入进来的。因为函数里有个像箭头一样的符号:=>,所以叫箭头函数,英文经常也会称为 Fat arrow functions,胖乎乎的箭头函数。这种函数也称为 lambda 表达式。箭头函数不能当作构造函数使用。
语法
一个箭头函数看起来像这样:
const greet = () => hello
箭头(=>)左边是函数的参数,如果函数没有参数,要使用一组空白的括号,如果函数只有一个参数,这个参数的周围可以不用括号,如果有多少参数,这些参数要放在一组括号里,中间用逗号分隔开。
箭头右边是函数的主体部分,上面这个函数的主体只有一行,所以可以直接把主体放在箭头的右边,箭头函数会自动返回这种单行的主体的结果,也就是你不需要明确的使用 return 关键词返回值。如果函数的主体是多行的,可以把主体部分放在一组大括号里({ })。
单个参数
const greet = name => `hello, ${name}`
name 是 greet 这个箭头函数的一个参数,因为函数只有一个参数,所以它的周围不需要添加括号。
多个参数
const greet = (greeting, name) => `${greeting}, ${name}`
greet 这个函数现在有两个参数:greeting 与 name,它们周围用了一组括号,参数之间用逗号分隔花。
主体
上面这个函数的主体只有一行,是一个表达式,这个表达式的结果会自动被返回,这就相当于是这样:
const greet = (greeting, name) => { return `${greeting}, ${name}` }
上面的 greet 函数的主体部分用了一组大括号,所以在主体里你要明确地使用 return 返回需要的结果。
参考资料
- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functi...
- http://exploringjs.com/es6/ch_arrow-functions.html
评论
皓哥,函数式编程就这10篇?
6 年 7 个月 以前
嗯,暂时就这么多 :)
6 年 7 个月 以前