箭头函数是ES6之后增加的一种编写函数的方法,它比函数表达式要更加简洁
1.箭头函数不会绑定this、arguments属性;
2.箭头函数不能作为构造函数来使用(不能和new一起来使用,会抛出错误);
编写箭头函数:
1.():参数
2.=>箭头
3.{}:函数的执行体
()=>{}
var foo = (num1,num2,num3)=>{}
高阶函数在使用时也可以传入箭头函数
var nums = [10, 20, 45, 78]
nums.forEach((item, index, arr) => {})
箭头函数一些常见的简写:
简写一:如果参数只有一个,()可以省略
nums.forEach(item=>{
console.log(item)
})
简写二:如果函数执行体只有一行代码,那么{}也可以省略
强调:并且它会默认将这行代码的执行结果作为返回值(函数没有返回值时返回undefined)
nums.forEach(item=>console.log(item))
var newNums=nums.filter(item=>item%2===0)
console.log(newNums)
//filter/map/reduce
var result=nums.filter(item=>item%2===0)
.map(item=>item*100)
.reduce((preValue,item)=>preValue+item)
简写三:如果一个箭头函数, 只有一行代码, 并且只返回一个对象,那么需要给这个对象加上()
var bar = () => {
return { name: "why", age: 18 }
}
var bar = () => ({ name: "why", age: 18 })//加括号代表一个整体,{ name: "why", age: 18 }这个对象是一个整体