【发布时间】:2015-03-20 01:30:35
【问题描述】:
以下代码将产生错误:无法调用类型缺少调用签名的表达式。
如果接口相同(例如都包含“a”),一切正常。 为什么?
interface Foo { a:string }
interface Bar { b:string }
var stuff: Foo[] | Bar[];
function doStuff(thing: Foo | Bar) {
var index = stuff.indexOf(thing);
}
【问题讨论】:
-
应该是 [(Foos 或 Bars 的数组)] 而不是 [(Foos 的数组)或(Bars 的数组)]? (我不熟悉打字稿,所以也许我误读了类型签名)
-
确实,你是对的。随意将其发布为答案,我会这样标记它。