在Angular 6 / Typescript代码示例中,我看到了使用以下两种语法调用的胖箭头函数。它们之间是否有区别,或者它们在功能上是相同的?
blah.then(param => {
// do something with param
});
blah.then((param) => {
// do something with param
});
答案 0 :(得分:5)
它们在JavaScript上下文中是相同的-当胖箭头函数的参数列表中只有一个参数时,则不需要包装括号。
foo => foo // ok
(foo) => foo // ok
不过,TypeScript略有不同。为了定义参数的类型,即使只有一个参数,您仍然需要括号:
(foo: string) => foo // ok
foo: string => foo // syntax error
请注意,这与Angular无关,只是JavaScript和TypeScript。
此外,您还说过“脂肪箭头功能称为”;但是,您显示的示例并未显示函数调用(调用),而是显示了函数 expression 。