首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我需要Babel JS?

为什么我需要Babel JS?
EN

Stack Overflow用户
提问于 2016-09-09 07:57:51
回答 5查看 11K关注 0票数 44

我正在努力理解巴别塔的重要性...因此ES6应运而生,并为我们提供了丰富的箭头函数、更短的语法等等。那么为什么我们需要将ES6编译成传统的JS呢?是不是因为有更老的浏览器不能解释新的JS语法?或者它与保持源代码一致性有关吗?我知道这是个菜鸟问题--但是,嘿,我是菜鸟!任何有见地的人都很感谢!

EN

回答 5

Stack Overflow用户

发布于 2016-09-09 08:16:45

虽然这里的答案都是正确的,但巴别塔不仅仅是关于ES6 (ES2015)的。ECMA标准委员会已经同意发布JavaScript语言的年度更新。Babel总是会集成这些标准,而我们不知道是否所有的浏览器都会,如果他们这样做了,他们是否能够跟上不断变化的标准。

有了Babel这样的转译器,我们可以领先于web浏览器,并在发布时使用ECMAscript的新功能,而不是等待浏览器制造商集成这些功能,使用polyfills或其他任何东西。它还允许最终用户定制他们想要使用的功能,并构建他们自己的语言版本。

要听巴别塔的创建者谈论这一点,你可以收听this JavaScript Jabber episode

票数 32
EN

Stack Overflow用户

发布于 2017-07-29 01:32:36

如今,大多数现代浏览器几乎完全支持es6。从96%到99%的支持率。

https://kangax.github.io/compat-table/es6/

缺少的主要内容是ES6模块。目前只有Safari支持ES6模块。对ES6模块的支持应该会出现在Google Chrome60中。

为了运行ES6代码,您必须使用诸如Browserify或Webpack之类的捆绑器将您的ES6代码模块组合到一个JavaScript文件中。我很幸运地使用了Webpack 3.0进行捆绑。

Babel负责将新语言功能转换为旧语言功能。

您可以编写可以在许多浏览器上运行的代码,只需使用bundler,而无需使用Babel。通过使用Babel转译代码,您的代码确实会变得更加复杂,因此您应该只在需要时才这样做。

票数 6
EN

Stack Overflow用户

发布于 2016-09-09 08:01:35

并非所有浏览器都支持ES6。还有像React这样的东西。

http://www.webbrowsercompatibility.com/es6/desktop/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39401836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档