# 定义

Nullable

TypeScript 里空类型 (void) 有两种: undefinednull, 是 (除never外) 其它所有类型的子类型。

默认情况下, 类型检查器认为 nullundefined可以赋值给任何类型。 nullundefined是所有其它类型的一个有效值。

解决方式有两种:

# 可选参数和可选属性

当你使用了 --strictNullChecks 配置, 可选参数列表会自动加上 | nudefined

function setName(name?: string) {
  return name || 'Rain120';
}

setName('Lily');
setName();

1
2
3
4
5
6
7

# 类型保护 和 类型断言

# 类型保护

function setName(name?: string) {
  if (name === null) {
    return 'Rain120';
  }
  return name;
}
1
2
3
4
5
6

当然, 你也可以通过短路运算符 | 来实现的。

function setName(name?: string) {
  return name || 'Rain120';
}
1
2
3

# 类型断言

function setName(name?: string) {
  return name!;
}
1
2
3

更多操作符相关, 请到 Here

# 快来耍耍啊

# 🌰🌰

// template
1

# 游乐场


# 参考答案

// answer
1

# 参考资料