箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。
箭头函数: 将原函数的“function”关键字和函数名都删掉,并使用“=>”连接参数列表和函数体。
(param1, param2, …, paramN) => { statements } (param1, param2, …,
paramN) => expression //相当于:(param1, param2, …, paramN) =>{ returnexpression; }// 当只有一个参数时,圆括号是可选的: (singleParam) => { statements } singleParam => {statements }
// 没有参数的函数应该写成一对圆括号。 () => { statements }
- 当函数参数只有一个,括号可以省略;但是没有参数时,括号不可以省略
- 一种只包含一个表达式,省略掉了{ … }和return。
- 还有一种可以包含多条语句,这时候就不能省略{ … }和return
// 无参
var fn1 = function() {}
var fn1 = () => {}
// 单个参数
var fn2 = function(a) {}
var fn2 = a => {}
// 多个参数
var fn3 = function(a, b) {}
var fn3 = (a, b) => {}
// 可变参数
var fn4 = function(a, b, ...args) {}
var fn4 = (a, b, ...args) => {}