我如何防止 Typescript 中的布尔值未定义?
对于我的三态复选框的 isSelected 状态,我只想允许 true、false 和 null 这几个值。我想防止它是 undefined。
这是我尝试的:
type CheckboxState = true | false | null;
class MyCheckboxProps {
isSelected: CheckboxState;
constructor() {
this.isSelected = 'some string'; // doesn't compile - good
this.isSelected = false; // compiles - good
this.isSelected = null; // compiles - good
this.isSelected = undefined; // compiles - WHY?
}
}
看起来 TS 编译器将我的自定义 CheckboxState 类型完全当作原始 boolean 类型处理。
在 TypeScript 中是否可以创建一个不能为 undefined 的可空布尔值?