【发布时间】:2016-03-07 07:43:00
【问题描述】:
全部:
[UPDATE] 我想通了:SO 中的一篇文章解释了这一点:
In TypeScript how do I declare an array of functions that accept a string and return a string?
事实证明:
形式的函数类型字面量
( 参数列表 ) => 返回类型
完全等价于对象类型字面量
{ ( ParamList ) : ReturnType }
所以,冒号: 带括号{} 箭头=>
我对 Typescript 很陌生,有一个例子让我对它的语法感到困惑:
var sayHello: (input: string) : string = function (s: string) {
return "Hello " + s;
}
var stringUtils: { (input: string): string; }[];
stringUtils.push(sayHello);
谁能帮忙解释一下这段代码的作用?尤其是第一部分的定义是做什么的?
var sayHello: (input: string) : string = function (s: string) {
return "Hello " + s;
}
示例说 sayHello 是一个函数变量,但是当我运行它时,我得到了“=>”预期的错误,这是否意味着该语法属于旧 typescript 但现在不存在?
谢谢
【问题讨论】:
-
我实际上什至不确定这是有效的 TypeScript ......?当我将它粘贴在这里时,它似乎不起作用:typescriptlang.org/Playground
-
@Katana314 谢谢,我这边都没有,所以基本上可能是错字?
-
这就是意图吗?
var sayHello: (input: string) => string = function (s: string) { return "Hello " + s; }。在深入解释之前得到确认会很好 -
@Katana314 不确定,但我想是的。这来自一本名为“Typescript Revealed”(Pub. 2013)的书,它使用这个例子来说明为什么我们需要接口
-
如果您正在阅读的书一直有语法错误,您应该找另一本书...?
标签: typescript