TypeScript:为什么这不是类型错误?

Jas*_*rez 6 typescript

我试图理解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);
Run Code Online (Sandbox Code Playgroud)

谢谢!

小智 11

谢谢参观!

这实际上是一个错误.当一个函数上下文类型的,我们应该好像返回类型的注释存在代表(每语言规范的第4.9节)预期的返回类型对待它,所以你在那是对的,应该是一个错误.

我已经有这样的修复,但你可以将文件在CodePlex上网站bug,因此我们的团队可以跟踪它?我可以在今天下午将修复程序推送到我们的开发分支.

再次感谢!