我在构建TypeScript项目时遇到了一些问题,因为库的类型定义有错误。解决方案是添加strictNullChecks标志。
这对我来说是违反直觉的。添加限制如何删除错误?通常情况下,情况正好相反。
我所犯的错误可以找到关于这个GitHub问题。
同时,作为这个用户指出
strict项目不能在非严格的项目中构建是没有意义的
我试着理解它们的类型,但是它们使用的是高级的TypeScript特性,它们具有很深的泛型类型,并且没有记录它们的代码。
发布于 2022-06-03 18:51:38
我认为,类型记录实际上并没有添加“检查”,它修改了null和undefined的类型,这可能会导致类型错误(事实上,这就是我所理解的)。https://www.typescriptlang.org/tsconfig#strictNullChecks
当strictNullChecks为真时,null和未定义有它们自己的不同类型,如果您尝试在预期具体值的地方使用它们,您将得到一个类型错误。
当您打开该选项时--它会以一种方式导致类型错误,而当您修复所有错误并将该选项转回时--它将以另一种方式导致错误。
https://stackoverflow.com/questions/72493026
复制相似问题