【问题标题】:Is it possible to automatically convert JavaScript into TypeScript? [closed]是否可以自动将 JavaScript 转换为 TypeScript? [关闭]
【发布时间】:2013-06-15 05:24:46
【问题描述】:

我使用 coffeescript 编写了一个游戏,但我更喜欢用 typescript 编写它。解决此问题的蛮力方法是手动转换代码。但我想知道是否有办法将咖啡脚本或咖啡脚本生成的 javascript 自动转换为打字稿。一个人可以做梦。

【问题讨论】:

标签: javascript coffeescript typescript code-translation


【解决方案1】:

JavaScript 代码已经是 TypeScript 代码。虽然它可能有类型错误,但编译器仍然会输出一个文件(当它说“错误”时,它实际上意味着“警告”,除非在解析过程中发生错误,实际运行的 JS 不应该是这种情况)。

就将惯用的 JavaScript 类/模块式结构转换为 TypeScript 类或模块而言,(目前)还没有任何工具。 TFS Team 为他们的代码库编写了一个内部定制工具来执行此操作,但这只是因为他们的 JS 一开始是在非常严格的规则下编写的。

【讨论】:

  • 这是最好的答案。
  • +1 - 将您的 JavaScript 粘贴到 TypeScript 文件中并开始按摩它!
【解决方案2】:

这听起来是个坏主意。即使它们都生成 JavaScript,CoffeeScript 和 TypeScript 也非常不同。但是,由于 TypeScript 是 JavaScript 的超集,因此转译后的 CoffeeScript 也是有效的 TypeScript。 From Wikipedia:

TypeScript 是 JavaScript 的超集。默认情况下编译器 针对 ECMA 脚本 3 (ES3),但也支持 ES5 作为选项。一种 TypeScript 应用程序可以使用现有的 JavaScript 脚本。 编译后的 TypeScript 脚本可以从 JavaScript 中使用。

既然您似乎不太热衷于选择“编译为 JS 语言的本周风味”,为什么不实际用 JavaScript 编写它呢?只是作为学术练习?

【讨论】:

  • 老实说,比起 JS,我更喜欢 coffeescript,因为它更简洁。我会从一开始就使用 typescript,但我认为我的 IDE 不支持它。我认为类型检查带来的生产力收益将被使用新编辑器的生产力损失所抵消。原来我的 IDE 确实毕竟支持打字稿,现在我正在考虑进行切换。
  • 就我个人而言,我不会让 IDE 支持成为决定因素。 CoffeeScript 更简洁的地方 TypeScript 似乎完全相反(静态类型、冗长的元数据等)。
  • 只是为了给已有多年历史的 POV 添加新的上下文,这些天“本周的味道”对 TypeScript 有点苛刻,因为 TypeScript 现在是 AngularJS 2.0 的父语言
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多