在TypeScript中,当只有一个明显的结果推断类型时,类型推断非常有用。
但是,当它推断变量为混合类型时,这可能会导致开发人员可能没有意图(即使他们自己创建了一个错误)也不可见的,允许的混合类型。
这是一个简单的例子:
const showMyArrayBoolean = someBooleanValue && someArray.length;
showMyArrayBoolean
具有以下类型:false|number
在此示例中,开发人员犯了一个错误,即假设&&
将始终产生布尔值,而实际上却并非如此。因此,它可能导致意外的错误,这些错误只能在运行时发现。但是似乎有些人可能更喜欢编译器警告他们。
是否存在某些功能或tsconfig.json
设置可以阻止TypeScript推断混合类型?
有一个专门解决此&&
的情况,但我对更广泛的解决方案更感兴趣,该解决方案无论原因如何,都完全禁止它们。