gpt4 book ai didi

javascript - 2018年还需要Babel吗?

转载 作者:行者123 更新时间:2023-12-02 22:43:11 24 4
gpt4 key购买 nike

我现在正在学习 JavaScript,有人说在我学习了 HTML 和 CSS 以及 vanilla Javascript 之后,我需要了解有关 ES6/ES2015 的知识。当我在 Youtube 上观看教程时,它说我们需要 Babel 或类似的东西才能让浏览器阅读它。所以我很想知道,因为那个视频并没有那么旧(但仍然很旧)。是否仍然需要 Babel 或者我应该跳过 Babel 的事情?

最佳答案

Babel是一个 JavaScript 到 JavaScript 的编译器,有时称为转换器,它将使用一组功能(例如 ES2015 及更高版本中的功能)编写的代码转换为可以在 JavaScript 环境中运行的代码不支持这些功能。 (还有其他的,Babel 只是一种非常流行的。)

是否使用 Babel 将 ES2015+ 代码转换为 ES5 完全取决于您,并且取决于您想要支持的目标环境。例如,如果您想支持任何版本的 Internet Explorer(包括 IE11),则需要进行转译。如果您只需要支持尖端的 Chrome、Firefox 和 Edge,或者其他可以依赖您正在使用的功能的环境(例如最新的 Node.js 安装),那么您不需要。

Kangax 有一组 handy tables了解哪些 JavaScript 引擎和/或浏览器支持 JavaScript 的哪些更现代的功能(不仅是 ES2015,还有 ES2016、ES2017 等)。

Babel(以及类似的工具)除了使用最新的标准化功能之外,还至少有两种用途:

  1. 您可以使用 Babel(和类似的)来利用可能很快就会标准化的功能,即使它们尚未得到很好的支持。例如,公共(public)类字段的基础知识已经很长时间没有改变了,但是the proposal they're in仍然(截至 2018 年 6 月撰写本文)处于第 3 阶段(并且在第 2 阶段和第 3 阶段之间来回了几次),原因与公共(public)类字段无关,甚至与 Chrome 等尖端浏览器无关, Firefox 和 Edge 还支持公共(public)类字段。但现在,通过转译器使用类字段是很常见的。

  2. 您可以编写自己的 Babel(或类似的)转换,以将您自己的功能添加到 JavaScript 中,用于您自己的项目(或使用其他人编写的功能),即使这些功能永远不会成为 JavaScript 的一部分或在您的项目之外使用。

<小时/>

1 注意:Internet Explorer is sunset as of June 15th 2022在大多数版本的 Windows 中。但 Microsoft Edge 中有一个“Internet Explorer”模式,天助我们,它实际上从该模式下的 JavaScript 环境中删除了模板文字、for-of 等功能。

关于javascript - 2018年还需要Babel吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48486691/

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