作用: 简化匿名函数, 简化回调函数和普通函数的写法
语法: () => {}
, 小括号内书写形参, 大括号内写函数体
let fn = (msg) => {
console.log('Hello' + msg)
}
简化语法
- 如果形参只有1个, 可以省略小括号
- 方法体只有一行代码, 可以省略大括号, 省略大括号后, 默认返回此结果
//上例中的箭头函数可简化
let fn = msg => console.log('Hello' + msg)
fn('World!')
注:方法体只有一行代码,且省略了大括号,如果函数有return,则也省略。
也就是箭头函数只有一句代码并且省略大括号时,默认带有
return
,再写return
则会报错。
let fn = (a,b) => {
return a + b
}
//可简化成
let fn = (a,b) => a + b
this指向
箭头函数的this
指向的是外层作用域this
的值
let myObj = {
a: function () {
console.log(this)
},
b: () => {
console.log(this)
}
}
myObj.a() // myObj
myObj.b() // window
其他
- 箭头函数不能用作构造函数, 不能和
new
配合使用 - 不能使用
arguments
发表回复