在TypeScript中使"检测到无法访问的代码"编译警告而不是错误?

eXa*_*ier 9 typescript

在Typescript中,当存在无法访问的代码时,编译器默认生成错误:

error TS7027: Unreachable code detected.
Run Code Online (Sandbox Code Playgroud)

我可以通过使用编译器选项allowUnreachableCode来避免它,true但我可以以某种方式更改它以警告?

我仍然想知道无法访问的代码.在开发和调试期间,我有时会使用if (false)临时删除某些功能,这比注释代码更好,特别是当代码本身包含注释时.

在C#中,无法访问的代码会生成警告(我可以通过其他选项将其视为错误),这在我看来更好的方式来处理它.

Hen*_*olm 5

在临时删除功能的特定情况下(我认为这是人们希望无法访问代码的主要情况),写作

if( <any>false ) {
  // unused code goes here
}
Run Code Online (Sandbox Code Playgroud)

将阻止TypeScript编译器抱怨,为运行时ECMAScript实现提供优化代码的好机会.

或者,

if( 0 ) {
  // unused code goes here
}
Run Code Online (Sandbox Code Playgroud)

将被TypeScript语言接受,但仍会触发"意外的恒定条件"警告tslint.

  • 这是一个糟糕的答案。该问题询问是否可以是警告,而不是是否可以完全避免该错误。 (2认同)

Jez*_*Jez 2

截至撰写本文时,答案是“否”,不能将其视为警告;正如你所说,它要么是“错误”,要么是“什么都没有”。 这个 Github 问题的存在是为了允许将错误配置为警告,这将允许将其设置为警告。希望它能很快得到实施。