TypeScript error: foo is declared but its value is never read. TS6133

TypeScript error: foo is declared but its value is never read. TS6133

一些简单的事情会导致这种情况发生。

let _tick = 0;
this.app.ticker.add( () => {
   moveSprites(dots);
   _tick += .2;
   return;
});

Tslint 选项设置如下:

"rules": {
  "object-literal-sort-keys": false,
  "no-unused-variable": [true, {"ignore-pattern": "^_"}]
}

通过搜索,我认为该规则可以解决并允许忽略它,但没有。

一种解决方案是这样写。它会通过,但它会抱怨 tick += .2 被分配但从未使用过。另外,这会改变行为。

this.app.ticker.add( (tick = 0) => {
   moveSprites(dots);
   tick += .2;
   return;
});

然后我终于找到了 // @ts-ignore 并且成功了... 我是打字稿的新手,如果您只需要保持变量状态,我就可以看出这是一个问题;只设置它。我还看到一些约定将 _var 名称作为受保护的 class 字段,但也适用于这些实例?什么是正确的方法?我喜欢 TS 的好处,但作为新手我花了很多时间安抚 ts linter。

您可以在 tsconfig.json 文件中禁用检查设置 noUnusedLocalsfalse

查看 compiler options 了解更多信息。