箭头函数是ES6之后增加的一种编写函数的方法,并且它比函数表达式要更加简洁。
- 箭头函数不会绑定this、arguments属性;(所以箭头函数不是普通函数的简写)
- 箭头函数不能作为构造函数来使用
箭头函数的编写形式
- ()函数的参数
- {}函数的执行体
箭头函数的定义
箭头函数在定义的时候不需要加入function关键字,可以传入参数。
var fn = (arg1, arg2) => {
return arg1
}
箭头函数也可以作为匿名函数,也经常用来作为回调函数。
nums.forEach((item, index, arr) => {
})
箭头函数的编写优化
优化一:如果只有一个参数()可以省略
var fn = arg1 => {
return arg1
}
nums.forEach(item => {})
优化二:如果函数执行体中只有一行代码,那么可以省略大括号
并且这行代码的放回值会作为整个函数的返回值
nums.forEach(item => console.log(item))
nums.filter(item => true)
优化三:如果函数执行体只有返回一个对象,那么需要给这个对象加上()
var foo = () => {
return { name: "abc" }
}
var bar = () => ({name: "abc"})
案例:使用箭头函数将一个数组里面的偶数的平方和输出
var nums = [20, 40, 11, 22, 45, 36, 89]
var result = nums.filter(item => item % 2 === 0)
.map(item => item ** 2)
.reduce((preValue, item)=> preValue + item)
console.log(result)