gpt4 book ai didi

node.js - 是否有任何引擎可以直接执行 TypeScript 代码?

转载 作者:行者123 更新时间:2023-12-04 14:46:11 26 4
gpt4 key购买 nike

刚开始学习TypeScript的时候,发现node.js并不会执行TypeScript,所以需要安装一个TypeScript编译器,把你的TypeScript代码转成JavaScript。
我搜索直到我找到ts-node (Node.js 的 TypeScript 执行和 REPL),但是当我阅读文档时,我发现它们也是如此( here )。偶deno (适用于 JavaScript 和 TypeScript 的现代运行时),正在做同样的事情( here )。
所以我的问题是:是否有任何引擎可以执行 TypeScript 代码而不将其转换为 JavaScript?

最佳答案

不,TypeScript 不是那种意义上的“独立”语言。它是并将永远是 JavaScript 的超集。这就是为什么 TypeScript 编译器通常被称为 transpiler : 它不会编译为低级语言。后 tsc已经运行了它的检查,它通过简单地去除所有 TypeScript 构造将现有源代码转换为 JavaScript。
来自 intro of the official TypeScript Handbook :

The goal of TypeScript is to be a static typechecker for JavaScript programs - in other words, a tool that runs before your code runs (static) and ensures that the types of the program are correct (typechecked).


所以为了执行 TypeScript,你总是需要一个 JavaScript 引擎。您也可以调整现有的 JavaScript 引擎(或构建自己的引擎)来理解 TypeScript,但它始终首先必须是符合 the ECMAScript specification. 的引擎。
迪诺也不异常(exception)。它有一个内置的 TypeScript 编译器,它是 a copy of the official one .来自 TypeScript chapter of the Deno manual .

At a high level, Deno converts TypeScript (as well as TSX and JSX) into JavaScript. It does this via a combination of the TypeScript compiler, which we build into Deno, and a Rust library called swc. When the code has been type checked and transformed, it is stored in a cache, ready for the next run without the need to convert it from its source to JavaScript again.


转译后,Deno 在 Google 的 V8 引擎上运行输出 JavaScript,与 NodeJS 和 Chrome 中使用的引擎相同。

关于node.js - 是否有任何引擎可以直接执行 TypeScript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70006008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com