Arraw function
基本语法
(param1, param2, …, paramN) => { statements }
(param1, param2, …, paramN) => expression
如果函数体没有用{}括起来,就等于{ return express}
只有一个参数时,括号才能不加
(singleParam) => { statements }
singleParam => { statements }
如果没有参数,就一定要加括号
() => { statements }
进阶语法
如果返回是一个对象,需要将对象用()括起来:
params => ({foo: bar})
多参数和参数默认值
(param1, param2, ...rest) => { statements }
(param1 = defaultValue1, param2, …, paramN = defaultValueN) => { statements }
箭头函数的确与传统函数有不同之处,但仍存在共同的特点。例如:
1.对箭头函数进行typeof操作会返回“function”。
2.箭头函数仍是Function的实例,故而instanceof的执行方式与传统函数一致。
3.call/apply/bind方法仍适用于箭头函数,但就算调用这些方法扩充当前作用域,this也依旧不会变化。
箭头函数与传统函数最大的不同之处在,禁用new操作。