Transcrito:Por que isso não é um tipo de erro?
-
12-12-2019 - |
Pergunta
Estou tentando entender o grau de inferência de tipo de trabalho, em TypeScript.No exemplo de código a seguir, qual é foo
's implementação de baz.esplode
válido?O meu entendimento é de que um método vazio jogos 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);
Obrigado!
Solução
obrigado por dar uma olhada!
Na verdade é um bug.Quando uma função é contextualmente digitado, devemos tratá-la como se um tipo de retorno de anotação existe, que representa a intenção tipo de retorno (por seção 4.9 da linguagem de especificação), então você está certo de que deve haver um erro.
Eu já tenho uma correção para isso, mas pode ser um erro no site CodePlex para nossa equipe, que pode controlar?Eu posso empurrar a correção para a nossa desenvolver este ramo da tarde.
Obrigado novamente!