ExpertiDict

TypeScript · Intermediário · Português · Técnico

tipagem contextual

/tʃiˈpaʒẽj kõtekstuˈaw/substantivo feminino

Mecanismo em que o tipo esperado pelo contexto, como o parâmetro de uma função ou a anotação de uma variável, define o tipo de expressões sem anotação.

Onde usar

Por isso arr.map((x) => x.nome) não precisa anotar x: o tipo vem do array. Em code review, anotar o parâmetro de um callback costuma ser redundante.

Em código

const nomes = ['ana', 'rui'];
const up = nomes.map((n) => n.toUpperCase());
type Cb = (valor: number) => string;
const f: Cb = (valor) => valor.toFixed(1);
// 'valor' é number, vindo de Cb

Exemplos

Não precisa anotar o parâmetro do callback, a tipagem contextual resolve.

Sem contexto, o parâmetro vira any implícito e o strict reclama.

Cuidado

Funciona só quando há um contexto. Uma função declarada solta, sem tipo esperado, tem parâmetros com any implícito e gera erro com strict.

Sinônimos

contextual typing

Veja também

Todos os termos de TypeScript