箭头函数VS普通函数

40 阅读1分钟

1.普通函数

//普通函数写法
function add(a, b) {
  return a + b;
}

2.箭头函数

//箭头函数写法
const add = (a,b) => {
return a+b
}
或者
const add = (a, b) => a + b;
  • [ 总结]
  • - 没有function 直接通过箭头指向
  • 箭头的函数体中只有return,可以省略return
  • 参数为一个时,可以没有小括号
  • this指向不同(下篇文章详解)
  • 箭头函数的this是父级作用域的this
  • 普通函数的this指向函数的调用者
  • call、apply、bind无法改变箭头的this的指向
  • 普通函数可以用作构造函数,可以使用new关键字来创建一个实例。箭头函数不能用作构造函数
  • *arguments对象:普通函数有自己的arguments对象,但箭头函数没有。如果你需要在箭头函数中使用arguments,你可以使用剩余参数(...args)
  • 普通函数定义的构造函数内部,支持使用new.target,返回构造实例的构造函数。而在箭头函数中,不支持使用new.target。在浏览器环境中,箭头函数使用new.target将报错:new.target expression is not allowed here