(自用面试题)箭头函数与普通函数的区别是什么?

50 阅读1分钟
  1. 箭头函数比普通函数书写更加简洁。

    • 如果箭头函数不需要参数,可以使用一个圆括号代表参数部分。
    • 如果箭头函数只有一个参数,可以省去参数的括号。
    • 如果箭头函数需要多个参数,可以使用一个圆括号代表参数部分。
  2. this

    • 由于箭头函数根本没有自己的this,导致函数内部的this就是外层代码块的this,即指向外层函数中的this。(即箭头函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。)
    • 不能通过apply()方法、call()方法、bind()方法改变this的指向(REASON:箭头函数根本没有自己的this)。
  3. 不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用rest参数代替。

  4. 不可以当作构造函数(REASON:箭头函数根本没有自己的this),也就是说不可以使用new命令,否则会抛出一个错误。

  5. 不可以使用yield命令,因此箭头函数不能用作Generator函数。