Tipo Unknown
In TypeScript, il tipo unknown rappresenta un valore di tipo sconosciuto. A differenza del tipo any, che consente qualsiasi tipo di valore, unknown richiede un controllo o un’asserzione di tipo prima di poter essere utilizzato in un modo specifico, quindi non sono consentite operazioni su un unknown senza prima aver effettuato un’asserzione o aver limitato il campo a un tipo più specifico.
Il tipo unknown è assegnabile solo a qualsiasi tipo e il tipo unknown stesso è un’alternativa type-safe ad any.
let value: unknown;
let value1: unknown = value; // Validolet value2: any = value; // Validolet value3: boolean = value; // Non validolet value4: number = value; // Non validoconst 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)); // non definito