箭头函数和普通函数对比

1.编写方式

  let xx = item =>item 单条语句可以省略return和{},单个参数可以省略()

2.箭头函数不能作为构造函数

  let A=()=>{}; let a = new A();报错
  function A(){}; let a = new A();不报错

3.arguments

  arguments的一般使用场景是:允许传入3个参数,中间一个参数是可选。如果只传1个参就是参数1用,传入2个参就是参数1和参数3用
  let A = function(a){
        console.log(arguments)
  }
  A(1,2,3)
  结果:1,2,3
  let A = (a) => console.log(arguments)
  A(1,2,3)
  结果:报错
  rest传参
  rest默认是[],多余的传参会加入数组
  let A = (...a) => console.log(a)
  A(1,2,3)
  结果:1,2,3

4.this指向

  箭头函数内的this指向上层对象,bind()、call()、apply()均无法改变指向。箭头函数没有原型属性。
  普通函数内的this执行调用其函数的对象。
原文地址:https://www.cnblogs.com/-swz/p/14262495.html