Typescript条件类型似乎允许null

时间:2019-04-09 09:34:13

标签: typescript conditional-types

给出这个条件类型的例子:

type MyType = 'Number' | 'String';

interface Test<T extends MyType> {
  bar: T extends 'Number' ? 25 : '25'
}

如果我尝试:

const test: Test<'Number'> = {bar: null}

我没有任何抱怨,这似乎是有效的打字稿。但是,当我将鼠标悬停在bar上时,会弹出一个(property) Test<"Number">.bar: 25 弹出窗口,这似乎意味着TS可以理解正确的类型。

为什么我这样分配时没有错误?我该如何解决?

1 个答案:

答案 0 :(得分:2)

只需启用compiler option --strict--strictNullChecks