UPDATE - 此问题的上下文是预先TypeScript 1.4 . 从那个版本开始,我的第一个猜测得到了语言的支持 . 请参阅答案的更新 .
我可以声明 f
是一个接受字符串并返回一个字符串的函数:
var f : (string) => string
我可以声明 g
是一个字符串数组:
var g : string[]
如何声明 h
是"function that accepts a string and returns a string"的数组?
我的第一个猜测:
var h : ((string) => string)[]
这似乎是一个语法错误 . 如果我拿掉额外的括号,那么它是一个从字符串到字符串数组的函数 .
2 回答
我想到了 . 问题是函数类型文字的
=>
本身只是语法糖,不想用[]
组成 .正如规范所说:
所以我想要的是:
完整的例子:
Update :
从this changeset判断,在1.4中的类型声明中将允许使用括号,因此问题中的"first guess"也是正确的:
Further Update 这是1.4!
根据你的研究,我写了一个小类PlanetGreeter / SayHello:`