箭头函数和普通函数
箭头函数不会创建自己
this
在箭头函数中,因为语法解析,this指向是确定的,this是与外层函数绑定的,如果是最外层没有函数就是window
.call()
/.apply()
/.bind()
无法改变箭头函数中this
指向箭头函数不能作为构造函数使用
箭头函数没有自己的
arguments
箭头函数没有自己原型
prototype
箭头函数不能用作
Generator
函数,不能使用yeild
关键字this指向:
- 在普通函数中,是动态的,依赖于函数的调用;
- 在箭头函数中,因为语法解析,this指向是确定的,this是与外层函数绑定的,如果是最外层没有函数就是window
arguments:
- 在普通函数中,可以获取到所有的参数;
- 在箭头函数中,arguments是指向外层的函数的arguments的。如果想要获取到统一获取到箭头函数的参数,可以使用…操作符 return: 箭头函数如果只有一个表达式,这个表达式就会被隐式返回,而且不需要使用return关键字
我们可以在class中使用箭头函数,this会和类实例进行绑定