unknown类型
首先说明一下,本人是前端小学生级别的菜鸡,吐槽的话请口下留情,在评论区指出错误或者补充不足,我会很喜欢,互喷不会进步,相互指点才会。。。。谢谢大家啦
📌unknown 类型也是顶部类型这与 any 一样
- unknown 用于表示未知的类型
- 会进行 TS 的类型检查,any 不进行 TS 检查
- 使用 unknown 类型时可以使用
as
类型断言来明确类型 unknown
跟any
的相似之处,在于所有类型的值都可以分配给unknown
类型。
下面是 any 与 unknown 赋值上的区别,unknown 需要明确类型后赋值,any 则不需要
let unknownname: any = "akun";
let unknownakun: unknown = "akun001";
let unknowna: string = unknownname;
let unknownb: string = unknownakun; //报错: 'unknown'未知类型不能赋值给'string'类型
// // // unknown 类型需要使用断言明确类型后赋值
let c: string = unknownakun as string;
可以把任何值赋值给 unknown 类型,但在使用时需要指明类型
let unknownakun02: unknown;
unknownakun02 = "akuna"; //ok
unknownakun02 = 1124