有人可以解释为什么我们创建一个函数,然后使用"let"将匿名函数分配给变量吗?这样写有什么意义?
function buildName(firstName: string, ...restOfName: string[]) {
return firstName + " " + restOfName.join(" ");
}
let buildNameFun: (fname: string, ...rest: string[]) => string = buildName;
我有几个猜测:
- 有人根本不关心资源(CPU、磁盘(
- 有人想看起来很花哨(通过添加箭头功能而没有任何合法的理由(
说真的,没有充分的理由这样做。
我想说这是因为您必须为变量分配箭头函数才能在其他地方使用它。箭头函数和 es5 函数之间有一些区别,所以如果有人需要箭头函数功能,这是他或她可以声明它的唯一方法。
另外,请记住,let和const不会被提升,这与通过function关键字声明的函数相反。
foo() // this will work
function foo () {
console.log('foo')
}
bar() // this will not
let bar = () => console.log('bar');