乐趣区

13TypeScript-之联合类型-unionTypenullundefined

null 和 undefined 是所有类型的子集 有些情况 即使你定义参数类型 传入 null 或者 undefined 也不会报错的

当你 去编译 TS 文件 加上后缀 –strictNullChecks

比如这样 tsc filesName.ts --strictNullChecks

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”的参数

当然想解决此类问题 只需要在参数加上 null 和 undefined 即可

退出移动版