gpt4 book ai didi

javascript - 我应该编译到哪个版本的 JavaScript?

转载 作者:IT老高 更新时间:2023-10-28 23:26:47 32 4
gpt4 key购买 nike

假设我正在编写一个 NodeJS 项目,其语言可以编译为 JavaScript,例如 TypeScript。使用 TypeScript(或其他使用 Babel 的东西)我可以选择将我的代码编译为任何版本的 JavaScript,无论是 ES3ES5ES6ES2017

显然,如果我在客户端编写一些东西,我会坚持使用像 ES5 这样的早期版本来保持对用户的兼容性。但是,由于我正在专门为最新版本的 NodeJS 编写服务器端的东西,所以我可以使用这些选项中的任何一个。我想知道的是,我应该使用哪个版本来帮助提供最佳性能?

NodeJS 的解释器 V8 根据源代码的编写方式提供不同的优化,所以我想选择其中一个可能会带来不同的好处。一方面,您会认为选择旧版本的 JS 会更好,因为它的存在时间更长并且有更多时间进行优化。另一方面,编译到更高版本的 JS 会产生明显更简洁的代码,并且依赖于更新的可用功能,这也可能会有所帮助。

任何想法/反馈将不胜感激!

最佳答案

我确实认为这个问题主要是基于意见的,但是.. 我不认为一个有效的问题应该被忽略,只是因为有一部分可能被认为是主观的。因此,虽然您应该对此持保留态度(因为最终,这是您的应用程序和您选择使用的版本),但我确实希望这能将您推向正确的方向:


我个人认为,您应该编译到最新的 ES 版本。为什么?
首先,让我们回顾一下事实:

  • 兼容性不是什么大问题。许多旧功能 can be polyfilled为了兼容性。
  • 正如@Ry- 有效地指出的那样,当一个特性被转换为旧的 JS 版本时,它的行为可能会有所不同,通常情况下你甚至可能没有注意到或预料到。
  • 每个 ES 版本都有一些 QoL 更改、错误修复和代码改进
  • 提供新的有用功能

现在,这更多是个人意见,但我坚持:

  • I don't think we as developers should look back and use obsolete or downright non-functioning techniques and bash our heads against the wall. Instead of complaining about others not wanting to adapt, be part of the movement and make others adapt. I'm not saying your site should not be "fool-proof" for old browsers, quite the opposite, just don't get down to their level and limit yourself because of it. Go with the flow!

总而言之,除非您有非常特殊的原因,不应该使用最新版本,否则始终使用最新版本(LTS,而不是最新测试版)。

关于javascript - 我应该编译到哪个版本的 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52035349/

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