箭头函数
1、只有一个参数的时候,参数可以不加小括号,没有参数或2个及以上参数的,必须加上小括号
2、返回语句只有一条的时候可以不写{}和return,会自动加上return的,返回多条语句时必须加上{}和return
3、箭头函数在返回对象的时候必须在对象外面加上小括号
箭头函数的this指向和普通函数的区别
1、普通函数this指向:
指向它的调用者,如果没有调用者则默认指向window
2、箭头函数指向:
指向箭头函数定义的时候所处的对象,而不是其所使用的时候所处的对象,默认指向父级的this
综上:箭头函数没有自己的this,它的this是继承来的,默认指向它定义的时候所处的对象
箭头函数和普通函数的区别
1、箭头函数是匿名函数,普通函数可以是匿名函数也可以是具名函数
2、箭头函数不能作为构造函数使用,不能使用new关键字
3、箭头函数没有原型,即没有prototype属性
4、call、apply、和bind无法改变箭头函数的this指向,但可以改变普通函数的this指向
5、箭头函数没有arguments对象,如果有外层函数,则继承外层函数的argument是,没有外层函数则会报错,箭头函数用的是rest参数(形式为: …rest)
6、箭头函数没有Generator,不能使用yield关键字
7、箭头函数没有自己的this