Arrow Function 是ES6的新语法,使函数看起来更简洁!!
箭头函数类似于匿名函数
主要结构 () => {} 原来的函数结构 function() {} 省去了function 加上了箭头
1.参数是一个的时候可以省略() 表达式只有一条可以省略{} 自带return
a => a++
//等同于
function(a){
return a++
}
2.返回值为对象的时候必须加 ( )
a =>{ name: jack, age: 18 } // 出错 对象的{}和函数的{}冲突,要加() //改为 a => ({ name: jack, age: 18 })
3.this指向问题
箭头函数的没有自己this指向外围的函数
4.不绑定arguments
箭头函数中不在绑定argunment,我们可以通过使用剩余参数来实现相同的功能,看代码
var f = (...Arr) => console.log(Arr[1]) f(1,2,3,4) // 2
5.没有prototype属性
var Foo = () => {}; console.log(Foo.prototype); // undefined
6.不能使用new
var Foo = () => {}; var foo = new Foo(); // TypeError: Foo is not a constructor