unknown跟any的区别?

96 阅读1分钟

any类型的变量可以赋值给任何变量,导致被赋值变量也变为any;unknow 类型的变量,不能直接赋值给其他变量;可以说unknow是any的安全类型。

类型断言:

let a:string;
let b:unknow;
b = 'mmm';
a = b;  //报错
a = b as any;
a = <string>b;

利用类型断言可以把unknow类型的变量赋值给其他类型。