所谓联合类型就是指:能够指定多种数据类型,扩大数据类型范围。大数据
let data: string | number | boolean...
TS并不推荐使用spa
null 和 undefined 是全部类型的子集 有些状况 即便你定义参数类型 传入 null 或者 undefined 也不会报错的code
当你 去编译 TS 文件 加上后缀 --strictNullChecks blog
好比这样tsc filesName.ts --strictNullChecks
ip
var func = function (value: number | string) { var type = typeof value; if (typeof value === "number") { return "your number is " + value; } else if (typeof value === "string") { return "your name is " + value; } }; var result = func(null);
意思为类型“null”的参数不能赋值给类型 “string | number” 的参数string
固然想解决此类问题 只须要在参数加上 null 和 undefined 便可it