为什么要声明匿名函数,然后分配给变量?



有人可以解释为什么我们创建一个函数,然后使用"let"将匿名函数分配给变量吗?这样写有什么意义?

function buildName(firstName: string, ...restOfName: string[]) {
return firstName + " " + restOfName.join(" ");
}
let buildNameFun: (fname: string, ...rest: string[]) => string = buildName;

我有几个猜测:

  • 有人根本不关心资源(CPU、磁盘(
  • 有人想看起来很花哨(通过添加箭头功能而没有任何合法的理由(

说真的,没有充分的理由这样做。

我想说这是因为您必须为变量分配箭头函数才能在其他地方使用它。箭头函数和 es5 函数之间有一些区别,所以如果有人需要箭头函数功能,这是他或她可以声明它的唯一方法。

另外,请记住,letconst不会被提升,这与通过function关键字声明的函数相反。

foo() // this will work
function foo () {
console.log('foo')
}
bar() // this will not
let bar = () => console.log('bar');

相关内容

最新更新