6

我试图了解 TypeScript 中类型推断的程度。在下面的代码示例中,为什么foo' 的实现baz.esplode有效?我的理解是空方法匹配void

interface bar {
    horace: number;
}

interface baz {
    esplode: (string, number) => bool;
}

interface bazzer extends bar, baz { }

var foo: bazzer = {
    horace: 12,
    esplode: function () { }
}

var x = foo.esplode('crackers', 2);

谢谢!

4

1 回答 1

11

谢谢参观!

这实际上是一个错误。当函数是上下文类型时,我们应该将它视为存在表示预期返回类型的返回类型注释(根据语言规范的第 4.9 节),所以你是对的,应该有一个错误。

我已经对此进行了修复,但是您能否在 CodePlex 网站上提交错误,以便我们的团队可以跟踪它?今天下午我可以将修复推送到我们的开发分支。

再次感谢!

于 2012-10-02T17:26:43.953 回答