Deno的优势之一是它对TypeScript和JavaScript几乎一视同仁。这可能意味着您需要完成从JavaScript到Tyescript的转换,甚至从TypeScript到JavaScript的转换。Deno有几个特性可以帮助实现这一点。
Javascript类型检查
您可能希望确保某些JavaScript具有更强的类型声音,但您不希望经历到处添加类型注释的过程。
Deno支持使用类型脚本类型检查器来类型检查JavaScript。您可以通过将Check JavaScript杂注添加到文件来标记任何单个文件:
// @ts-check
这将导致类型检查器推断有关JavaScript代码的类型信息,并将任何问题作为诊断问题提出。
通过提供启用了Check JS选项的配置文件,可以为程序中的所有JavaScript文件打开这些选项:
{ "compilerOptions": { "checkJs": true }}
并将选项设置在命令行上。--config
在javascript中使用JSDoc
如果您正在进行类型检查JavaScript,或者甚至将JavaScript导入到TypeScript中,您可以在JavaScript中使用JSDoc来表达更多的类型信息,而不是仅仅从代码本身推断出来的信息。Deno无需任何额外配置即可支持此功能,您只需根据受支持的TypeScript JSDoc对代码进行注释即可。例如,要设置数组的类型,请执行以下操作:
/** @type {string[]} */
const a = [];
跳过类型检查
您可能有正在试验的TypeScript代码,其中的语法是有效的,但不是完全类型安全的。通过传递--no-check,您总是可以绕过整个程序的类型检查。
您还可以使用no-check注释跳过正在进行类型检查的整个文件,包括JavaScript(如果启用了check JS):
// @ts-nocheck
只需将JS文件重命名为 TS 文件
虽然这在某些情况下可能会奏效,但在Deno中有一些严重的限制。这是因为Deno在默认情况下以所谓的严格模式运行类型检查。这意味着在非严格模式下没有捕获到的许多不明确或不明确的情况将导致生成诊断,而当涉及到类型时,JavaScript只不过是不明确和不明确的。
网友评论