启用strictNullChecks
:
(u: undefined, v: void, n: null) => {
v = u;
u = v; // type error: Type 'void' is not assignable to type 'undefined'
v = n; // type error: Type 'null' is not assignable to type 'void'
}
我认为类型void
的某些值必须不属于undefined
类型,但启用了strictNullChecks
我不知道任何值。这个值是真的吗?
答案 0 :(得分:4)
这是真的吗?
获取void
类型值的唯一方法是调用void
- 返回函数:
function f() { }
let x = f();
请注意,因为通过void
类型的变量为非() => void
- 返回函数设置别名是合法的,所以>获得的void
值可能不实际上是值undefined
,因此是子类型关系。
答案 1 :(得分:2)
您只能为void
分配两种类型:undefined
和null
。正如名字所说的那样,虚空是任何东西的反面,没有任何东西,没有类型。