从 JavaScript 迁移
Deno 的优势之一是它对 TypeScript 和 JavaScript 的处理方式相当平等。这意味着您可能希望从 JavaScript 过渡到 TypeScript,甚至从 TypeScript 过渡到 JavaScript。Deno 的一些功能可以帮助您实现这一点。
类型检查 JavaScript 跳转到标题
您可能有一些 JavaScript 代码,您希望确保它更类型安全,但您不想经历在所有地方添加类型注释的过程。
Deno 支持使用 TypeScript 类型检查器来类型检查 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
来绕过整个程序的类型检查。
您还可以跳过对整个文件的类型检查,包括 JavaScript(如果您启用了 check JS),方法是使用 no-check 标记
// @ts-nocheck
将 JS 文件重命名为 TS 文件 跳转到标题
虽然这在某些情况下可能有效,但它在 Deno 中有一些严重的限制。这是因为 Deno 默认情况下在所谓的严格模式下运行类型检查。这意味着在非严格模式下未捕获的许多不清楚或模棱两可的情况会导致生成诊断信息,而 JavaScript 在类型方面就是不清楚和模棱两可的。