Pular para o conteúdo

Predicados de Tipo

Predicados de Tipo (Type Predicates) no TypeScript são funções que retornam um valor booleano e são usadas para estreitar o tipo de uma variável para um tipo mais específico.

const isString = (value: unknown): value is string => typeof value === 'string';
const foo = (bar: unknown) => {
if (isString(bar)) {
console.log(bar.toUpperCase());
} else {
console.log('não é uma string');
}
};

O TypeScript 5.5 infere automaticamente predicados de tipo (como x is T) em funções como .filter, de forma que ele saiba quando valores como undefined são removidos — resultando em tipos mais precisos e menos erros; isso funciona para verificações claras (por exemplo, x !== undefined), mas não para verificações ambíguas como !!x.

const nums = [1, null, 2].filter(x => x !== null);