我最近一直在尝试在线Babel转译工具,并且我注意到在将类转译为ES2015时,它不使用javascript类,而是创建var _createClass = function () {...
样板:Demo >
但是,在ES2015中添加了javascript类关键字。 Source
仅在勾选ES2016时才使用javascript类。
那是为什么?
答案 0 :(得分:3)
我注意到,将类转换为ES2015时,它不使用javascript类:https://babeljs.io/repl#?presets=es2015&…
您不是在将ES2015移植到ES2015,而是将从从ES2015移植到旧版本。 ES2015 preset选择为ES2015素材生成ES3 / 5代码的所有转换。
仅在勾选ES2016时才使用javascript类。
是的,当您仅转换ES2016(或更高版本)内容时,它将保留ES2015的class
语法和其他功能。
答案 1 :(得分:0)
但是,在ES2015中添加了javascript类关键字
是的,关键字是在ES2015上定义的,而class
在此之前已经是保留字,但是实际的实现是另外一回事了。正如@AshKander在评论中提到的那样,将babel与特定目标一起使用的目的是使该代码在支持该目标的所有浏览器上都能正常工作。