【问题标题】:typescript error TS2531 Object is possibly 'null' is NOT being suppressed by strictNullChecks : falsetypescript error TS2531 Object is possible 'null' 没有被 strictNullChecks 抑制:false
【发布时间】:2018-11-04 21:49:33
【问题描述】:

我的打字稿编译抛出以下错误

TS2531:对象可能为“空”。

我正在转换包含大量此类错误的代码,只是想抑制它们以完成构建工作。我的理解是在我的 tsconfig.json 文件中添加以下内容会抑制此错误。

“编译器选项”:{ “strictNullChecks”:假}

但是错误仍然显示。我找不到任何其他特定于此错误的编译器选项。有抑制它的选项吗?

【问题讨论】:

  • 你可以使用非空断言操作符! 强制移除这些类型,例如:let x = some.expr!.property;

标签: typescript tsconfig ts-loader


【解决方案1】:

我认为您没有正确初始化某些变量。您可以使用 ! 添加明确的分配声明或完全关闭规则。如果这没有帮助一些失败代码的例子会很好:)

要关闭添加以下规则

“strictPropertyInitialization”:假

{
  "compilerOptions": {
    "strict": false,
    "strictPropertyInitialization": false,
    "strictNullChecks": false,
  }
}

【讨论】:

  • 你在这两种情况下都做到了。这是我一直在寻找的规则!我还去看了我的属性初始化,我不小心把这个private myVar: null; 我想我用我的IDE自动添加它并且IDE出于某种原因选择了null,所以修复了这些,现在可以选择禁用错误。谢谢。
猜你喜欢
  • 2020-04-12
  • 1970-01-01
  • 2021-04-14
  • 1970-01-01
  • 2020-12-18
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多