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!

Foi útil?

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!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top