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

时间:2018-10-23 14:56:55

标签: javascript typescript ecmascript-6 let

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

function buildName(firstName: string, ...restOfName: string[]) {
    return firstName + " " + restOfName.join(" ");
}

let buildNameFun: (fname: string, ...rest: string[]) => string = buildName;

2 个答案:

答案 0 :(得分:1)

我有一些猜测:

  • 有人根本不在乎资源(CPU,磁盘)
  • 有人想看中(通过添加箭头功能而没有任何正当理由)

严重的是,没有充分的理由这样做。

答案 1 :(得分:1)

我会说这是因为您必须将箭头函数分配给变量才能在其他地方使用它。 There are couple of differences between arrow functions and es5 functions,因此,如果某人需要箭头功能,那是他或她声明它的唯一方法。

此外,请记住,未悬挂 let const ,这与通过 function 关键字声明的函数相反。

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