我
用转译成 JavaScript 的语言写 JavaScript 有什么优缺点?
难度:
Some examples of languages that compile to JavaScript include CoffeeScript, Elm, ClojureScript, PureScript and TypeScript. 这些是转译成 JavaScript 的语言,包括 CoffeeScript、Elm、ClojureScript、PureScript 和 TypeScript。
优点:
- 修复了 JavaScript 中的一些长期问题,并摒弃了 JavaScript 不好的做法。
- 在 JavaScript 的基础上提供一些语法糖,使我们能够编写更短的代码,我认为 ES5 缺乏语法糖的支持,但 ES2015 非常好。
- 对于需要长时间维护的大型项目,静态类型非常好用(针对 TypeScript)。
缺点:
- 由于浏览器只运行 JavaScript,所以需要构建、编译过程,在将代码提供给浏览器之前,需要将代码转译为 JavaScript。
- 如果 source map 不能很好地映射到预编译的源代码,调试会很痛苦。
- 大多数开发人员不熟悉这些语言,需要学习它。如果将其用于项目,会增加团队成本。
- 社区比较小(取决于语言),这意味着资源、教程、图书和工具难以找到。
- 可能缺乏 IDE(编辑器)的支持。
- 这些语言将始终落后于最新的 JavaScript 标准。
- 开发人员应该清楚代码正在被编译到什么地方——因为这是实际运行的内容,是最重要的。
实际上,ES2015 已经大大改进了 JavaScript,编写体验很好。我现在还没有真正看到对 CoffeeScript 的需求。