# 定义
Nullable
TypeScript
里空类型 (void)
有两种: undefined
与 null
, 是 (除never外)
其它所有类型的子类型。
默认情况下, 类型检查器认为 null
与 undefined
可以赋值给任何类型。 null
与 undefined
是所有其它类型的一个有效值。
解决方式有两种:
# 可选参数和可选属性
当你使用了 --strictNullChecks
配置, 可选参数列表会自动加上 | nudefined
。
function setName(name?: string) {
return name || 'Rain120';
}
setName('Lily');
setName();
1
2
3
4
5
6
7
2
3
4
5
6
7
# 类型保护 和 类型断言
# 类型保护
function setName(name?: string) {
if (name === null) {
return 'Rain120';
}
return name;
}
1
2
3
4
5
6
2
3
4
5
6
当然, 你也可以通过短路运算符 |
来实现的。
function setName(name?: string) {
return name || 'Rain120';
}
1
2
3
2
3
# 类型断言
function setName(name?: string) {
return name!;
}
1
2
3
2
3
更多操作符相关, 请到 Here
# 快来耍耍啊
# 🌰🌰
// template
1
# 游乐场
# 参考答案
// answer
1