笔者之前做的项目基本都是vue+js,这回头一回接手了一个ts的项目,懵了半天,逐渐补了点知识。
TypeScript 有两个“顶层类型”(any和unknown),但是“底层类型”只有never唯一一个。
any,顾名思义,任何类型,表示没有任何限制。该类型的变量可以赋予任意类型的值。变量类型一旦设为any,TypeScript 实际上会关闭这个变量的类型检查。即使有明显的类型错误,只要句法正确,都不会报错。
unknown和any一样属于顶层类型,意味着ts也不知道你这unknown是什么类型,但与 any 不同的是,unknown 类型不允许你在不先进行类型检查的情况下执行任何操作。
never:表示永远不会发生的值,主要用于函数签名,表明函数不会正常返回,或者是用来捕捉不可能的情况。
牛魔的,我说之前怎么一直在给我报不能给never类型赋值,原来是这样