【发布时间】:2012-11-13 02:41:53
【问题描述】:
我有以下代码:
module array {
export function contains(arr: Array, item: any): bool { // implementation }
}
我想要的是联合类型(在上面的示例中,Array、NodeList 和 IArguments 应该是可能的)或导出函数的多个签名。我好像也做不到。
我尝试使用不同类型的参数多次声明函数,但编译器抱怨缺少 return 语句 - 没有必要证明仅用于参数类型检查的声明的实现(并且使代码冗长)。我认为拥有联合类型会更好,不是吗?
所以问题是:如果允许的参数是不同类型的函数(在这种情况下 - 类似对象的数组),但实现是相同的,我如何实现类型检查,而无需复制/粘贴实现(基本上一个简单的'return false'可能会在最后一个之前的声明中使用,但似乎仍然是个坏主意)。
【问题讨论】:
标签: typescript