ExpertiDict

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

type predicate

/taɪp ˈpɹɛdɪkət/substantivo

Tipo de retorno especial no formato parametro is Tipo, que declara que a função devolve true apenas quando o argumento é daquele tipo, ensinando o compilador a estreitar.

Onde usar

Usado em filtros como lista.filter(ehString) para que o array resultante saia com o tipo certo. O compilador não confere se o corpo da função realmente cumpre o predicado.

Em código

function ehNum(v: unknown): v is number {
  return typeof v === 'number';
}
const mix: (string | number)[] = [1, 'a', 2];
const nums = mix.filter(ehNum); // number[]

Exemplos

Add a type predicate so filter returns number[].

Adicione um type predicate para o filter devolver number[].

The predicate is wrong, it returns true for strings too.

O predicado está errado, ele retorna true para strings também.

Cuidado

O retorno continua sendo boolean em runtime; o is só existe na checagem de tipos e some na compilação.

Sinônimos

predicado de tipo, user-defined type guard

Veja também

Todos os termos de TypeScript