-
any
- any is hell 就像写 JS 一样
-
unknown
- 描述类型并不确定的变量,不过更安全,操作时需要缩小类型
-
void
- 没啥用
-
undefined
最大价值主要体现在接口类型上,它表示一个可缺省、未定义的属性。
-
null
- 价值主要体现在接口制定上,它表明对象或属性可能是空值。尤其是在前后端交互的接口,比如 Restful、Graphql,任何涉及查询的属性、对象都可能是
null
空对象
- 价值主要体现在接口制定上,它表明对象或属性可能是空值。尤其是在前后端交互的接口,比如 Restful、Graphql,任何涉及查询的属性、对象都可能是
-
never
- 表示永远不会发生值的类型
- 是所有类型的子类型,它可以给所有类型赋值
- 但是反过来,除了
never
自身以外,其他类型(包括any
在内的类型)都不能为never
类型赋值。
// 一个统一抛出错误的函数 // 函数永远不会有返回值,所以它的返回值类型就是 never function ThrowError(msg: string): never { throw Error(msg) }
-
object
- 没有什么用武之地