此文只挑选官网中不太容易理解的类型进行了说明,其他类型可移步官网
https://www.tslang.cn/docs/handbook/basic-types.html
never
- 表示用不存在的值的类型
- 具体看如下示例
语法不通过
function test () :never {
return 1;
}
语法通过
function test () :never {
throw new Error()
}
语法通过
function test (): never {
while(true) {}
}
- summary:当一个函数中存在死循环代码或者抛出异常的代码时,会导致程序无法继续正常运行,此时函数拿不到任何返回值,因此这种现象归为永远拿不到值,即用never来表示返回值。
- summary:遇到返回值包含never的函数,可根据情况考虑使用try catch...
null & undefined
- ts规定它两属于单独的两个类型,属于任意类型的子类型
非严格模式,语法通过
let a: undefined = null;
- 实战中如果配置了typescript.json配置文件,默认为严格模式,null和undefined无法直接赋值给其他类型。如果要初始值给null或undefined,需要声明联合类型,如number | null。
严格模式,语法不通过
let a: number = null;
网友评论