1,简洁
2,没有自己的this
箭头函数基本用法:
let arr = ['a', 'b', 'c']
// 普通函数
let newArr = arr.map(function (e) {
return e
}) // ["a", "b", "c"]
// 箭头函数
let newArr0 = arr.map((e) => {
return e
}) // ["a", "b", "c"]
// 当箭头函数只有一个参数时,括号可以省略
let newArr1 = arr.map(e => {
return e
}) // ["a", "b", "c"]
// 当箭头函数的函数体只有一个 `return` 语句时,可以省略`return`与花括号
let newArr2 = arr.map(e => e
) // ["a", "b", "c"]
箭头函数中this指向 (指向上一层作用域)
let obj1 = {
fun1: function () {
console.log(this) // fun1
setTimeout(function getData() {
console.log(this) // window
}, 1000)
}
}
obj1.fun1()
let obj2 = {
fun2: function () {
console.log(this) // fun2
setTimeout(() => {
console.log(this) // fun2
}, 1000)
}
}
obj2.fun2()