js中为什么用函数表达式的人越来越多,为什么不用函数声明?

es6之后,感觉用函数表达式的越来越多了,特别是ts中。

比如:

const fn: Fn = () => {
  ...
}

我知道这样做的原因有:

  1. 函数表达式可以控制变量提升
  2. (ts中)函数表达式可以更方便添加类型
阅读 1.6k
2 个回答

你已经自己发现两点了,我再补充一点:

用表达式的一般都是用箭头函数,而箭头函数里的 this 指向是很清晰的,可以减少很多奇奇怪怪的问题。

主要原因是控制变量提升和解决this问题,还有一个好处就是某些情况下写法更精简。这点虽然算不上什么优势吧,但是是客观存在的减少了代码量和行数,比如

const getTime = () => new Date();

vs

function getTime() {
      return new Date();
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题