TypeScript:我们可以禁止推断混合类型吗?

时间:2020-04-02 06:02:10

标签: typescript types type-inference tsconfig inferred-type

在TypeScript中,当只有一个明显的结果推断类型时,类型推断非常有用。

但是,当它推断变量为混合类型时,这可能会导致开发人员可能没有意图(即使他们自己创建了一个错误)也不可见的,允许的混合类型。

这是一个简单的例子:

const showMyArrayBoolean = someBooleanValue && someArray.length;
  • Typescript推断showMyArrayBoolean具有以下类型:false|number
  • ...当开发人员可能(不正确地)期望它始终只是布尔值时

在此示例中,开发人员犯了一个错误,即假设&&将始终产生布尔值,而实际上却并非如此。因此,它可能导致意外的错误,这些错误只能在运行时发现。但是似乎有些人可能更喜欢编译器警告他们。

是否存在某些功能或tsconfig.json设置可以阻止TypeScript推断混合类型?

有一个专门解决此&&的情况,但我对更广泛的解决方案更感兴趣,该解决方案无论原因如何,都完全禁止它们。

0 个答案:

没有答案
相关问题