any tipo:
El anytipo representa todos los valores JS posibles. Cada tipo es asignable a escribir any. Por lo tanto, el tipo anyes un supertipo universal del sistema de tipos. El compilador de TS permitirá cualquier operación en valores escritos any. Por ejemplo:
let myVar: any;
myVar[0];
myVar();
myVar.length;
new myVar();
En muchas ocasiones, esto es demasiado indulgente con el compilador de TS. es decir, permitirá operaciones que podríamos haber conocido como resultado de un error de tiempo de ejecución.
unknown tipo:
El unknowntipo representa (al igual que any) todos los valores JS posibles. Cada tipo es asignable a escribir unknown. Por lo tanto, el tipo unknownes otro supertipo universal del sistema de tipos (junto any). Sin embargo, el compilador de TS no permitirá ninguna operación en valores escritos unknown. Además, el unknowntipo solo se puede asignar al tipo any. Un ejemplo aclarará esto:
let myVar: unknown;
let myVar1: unknown = myVar; // No error
let myVar2: any = myVar; // No error
let myVar3: boolean = myVar; // Type 'unknown' is not assignable to type 'boolean'
// The following operations on myVar all give the error:
// Object is of type 'unknown'
myVar[0];
myVar();
myVar.length;
new myVar();
anyes comodynamicyunknownes comoobject. Me gusta,unknownya que es más seguro. Aunque nombres confusos.