胖箭头功能的这两种语法之间是否有区别,或者它们在功能上是否相同?

时间:2018-08-19 20:50:23

标签: angular typescript

在Angular 6 / Typescript代码示例中,我看到了使用以下两种语法调用的胖箭头函数。它们之间是否有区别,或者它们在功能上是相同的?

blah.then(param => {
    // do something with param
});

blah.then((param) => {
    // do something with param
});

1 个答案:

答案 0 :(得分:5)

它们在JavaScript上下文中是相同的-当胖箭头函数的参数列表中只有一个参数时,则不需要包装括号。

foo => foo // ok
(foo) => foo // ok

不过,TypeScript略有不同。为了定义参数的类型,即使只有一个参数,您仍然需要括号:

(foo: string) => foo // ok
foo: string => foo // syntax error

请注意,这与Angular无关,只是JavaScript和TypeScript。

此外,您还说过“脂肪箭头功能称为”;但是,您显示的示例并未显示函数调用(调用),而是显示了函数 expression