Tipo unknown
No TypeScript, o tipo unknown representa um valor que é de um tipo desconhecido. Ao contrário do tipo any, que permite qualquer tipo de valor, o unknown exige uma verificação de tipo ou asserção antes de poder ser usado de uma maneira específica, portanto nenhuma operação é permitida em um unknown sem primeiro asseverar ou estreitar para um tipo mais específico.
O tipo unknown só é atribuível a si mesmo e ao tipo any; é uma alternativa segura em termos de tipos ao any.
let value: unknown;
let value1: unknown = value; // Válidolet value2: any = value; // Válidolet value3: boolean = value; // Inválidolet value4: number = value; // Inválidoconst add = (a: unknown, b: unknown): number | undefined => typeof a === 'number' && typeof b === 'number' ? a + b : undefined;console.log(add(1, 2)); // 3console.log(add('x', 2)); // undefined