箭头函数(Arrow Function),指的是从 ES6 开始新增加的一种声明函数的方式。之所以叫做箭头函数,是因为它的定义用一个箭头=>
取代了function
关键字。
箭头函数的声明
箭头函数的声明,其实就是将“函数表达式”中的关键字function
换成了=>
。语法结构如下:
|
|
例:
|
|
箭头函数的简写
上面所介绍的,是箭头函数的基本结构写法。实际上箭头函数根据形参数量和函数体的不同,可以进一步的简化结构。如下:
当箭头函数只有一个形参时,小括号
()
可以省略。123let fn = a => {console.log( a );}当函数体内部只有一条
return
语句时,大括号{}
和return
关键字都可以省略。123456let fn = (a, b) => a * b;// 等同于let fn = (a, b) => {return a * b;}
箭头函数的 this
ES6 中的箭头函数跟普通函数除了写法上有所不同以外,还有一个最大的区别 —— this。
箭头函数是没有自己的 this 的。因此在箭头函数中访问 this 时,实际访问的是继承于父级的 this。
箭头函数的父级,指的是箭头函数定义时所在的执行上下文。
例:
|
|