【发布时间】:2013-06-15 05:24:46
【问题描述】:
我使用 coffeescript 编写了一个游戏,但我更喜欢用 typescript 编写它。解决此问题的蛮力方法是手动转换代码。但我想知道是否有办法将咖啡脚本或咖啡脚本生成的 javascript 自动转换为打字稿。一个人可以做梦。
【问题讨论】:
标签: javascript coffeescript typescript code-translation
我使用 coffeescript 编写了一个游戏,但我更喜欢用 typescript 编写它。解决此问题的蛮力方法是手动转换代码。但我想知道是否有办法将咖啡脚本或咖啡脚本生成的 javascript 自动转换为打字稿。一个人可以做梦。
【问题讨论】:
标签: javascript coffeescript typescript code-translation
JavaScript 代码已经是 TypeScript 代码。虽然它可能有类型错误,但编译器仍然会输出一个文件(当它说“错误”时,它实际上意味着“警告”,除非在解析过程中发生错误,实际运行的 JS 不应该是这种情况)。
就将惯用的 JavaScript 类/模块式结构转换为 TypeScript 类或模块而言,(目前)还没有任何工具。 TFS Team 为他们的代码库编写了一个内部定制工具来执行此操作,但这只是因为他们的 JS 一开始是在非常严格的规则下编写的。
【讨论】:
这听起来是个坏主意。即使它们都生成 JavaScript,CoffeeScript 和 TypeScript 也非常不同。但是,由于 TypeScript 是 JavaScript 的超集,因此转译后的 CoffeeScript 也是有效的 TypeScript。 From Wikipedia:
TypeScript 是 JavaScript 的超集。默认情况下编译器 针对 ECMA 脚本 3 (ES3),但也支持 ES5 作为选项。一种 TypeScript 应用程序可以使用现有的 JavaScript 脚本。 编译后的 TypeScript 脚本可以从 JavaScript 中使用。
既然您似乎不太热衷于选择“编译为 JS 语言的本周风味”,为什么不实际用 JavaScript 编写它呢?只是作为学术练习?
【讨论】: