Tipo Unknown
No TypeScript, o tipo unknown representa um valor que é de um tipo desconhecido. Diferentemente do tipo any, que permite qualquer tipo de valor, unknown requer uma verificação ou asserção de tipo antes que possa ser usado de uma maneira específica, então nenhuma operação é permitida em um unknown sem primeiro assertar ou estreitar para um tipo mais específico.
O tipo unknown só é atribuível a qualquer tipo e ao próprio tipo unknown, é uma alternativa type-safe 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