Skip to content
On this page

箭头函数和普通函数

ES6 - 箭头函数、普通函数的区别

  • 箭头函数不会创建自己 this

  • 在箭头函数中,因为语法解析,this指向是确定的,this是与外层函数绑定的,如果是最外层没有函数就是window

  • .call() / .apply() / .bind() 无法改变箭头函数中 this 指向

  • 箭头函数不能作为构造函数使用

  • 箭头函数没有自己的 arguments

  • 箭头函数没有自己原型 prototype

  • 箭头函数不能用作 Generator 函数,不能使用 yeild 关键字

  • this指向:

    • 在普通函数中,是动态的,依赖于函数的调用;
    • 在箭头函数中,因为语法解析,this指向是确定的,this是与外层函数绑定的,如果是最外层没有函数就是window
  • arguments:

    • 在普通函数中,可以获取到所有的参数;
    • 在箭头函数中,arguments是指向外层的函数的arguments的。如果想要获取到统一获取到箭头函数的参数,可以使用…操作符 return: 箭头函数如果只有一个表达式,这个表达式就会被隐式返回,而且不需要使用return关键字

我们可以在class中使用箭头函数,this会和类实例进行绑定