【问题标题】:Does dart2js support ecmascript 6 compilation?dart2js 是否支持 ecmascript 6 编译?
【发布时间】:2014-09-30 10:55:59
【问题描述】:

dart2js 是否支持编译为 ecmascript-6 版本的 javascript?你如何编译它?如果没有,是否有计划?

这给 js 开发者带来了另一个问题。如果这样做了,它是否会依赖不同的垫片集来处理(dart2js 生成的)es5 代码,而不是已经使用的(https://github.com/paulmillr/es6-shim/)。

【问题讨论】:

  • 你对 dart2js ES6 支持有什么期望?
  • @GünterZöchbauer ES6 有它的优势。我的意思是如果我使用 dart/dart2js 我会错过 ES6 吗?我会被困在 ES5 上吗?将 ES5 迁移到 ES6 可能会很痛苦。
  • Dart2JS '编译'为 JavaScript。 JavaScript 的使用类似于 Java/C# 的字节码。生成的 JavaScript 不打算被人类读取和修改。 Dart 已经拥有 ES6 的大部分优势,还有更多。 Dart2js 已经完成了您链接到的 shim 所做的许多事情,但它用于每个浏览器,无论它们是否支持 ES6(至少现在是这样)。

标签: dart ecmascript-6 dart2js


【解决方案1】:

不,它没有。
只要不是 Dart(或更具体的 dart2js)支持的所有浏览器都支持 EcmaScript 6,这没有多大意义。

我认为 dart2js 有时可能支持 EcmaScript 6 的原因只有两个。

  • 提高速度
    当浏览器可以比等效的 ES5 更快地执行 ES 构造时
    shims 会降低每个不支持 ES6 的浏览器的速度
  • 构建输出大小
    当需要更少的 JS 代码来实现相同的功能时
    垫片会增加每个浏览器的大小

【讨论】:

  • 目标浏览器将来可能会支持它。 Firefox 和 Chrome 已经支持一些功能,并且会继续添加更多功能。 IE 不会比休息时间更早出现。但是,为什么还要等待所有浏览器完全实现 ES6。鉴于将 ES5 升级到 ES6 并非易事。这将是一个漫长的过程,并且 dart2js 将赶上我不想要的 ES6。
猜你喜欢
  • 2012-11-30
  • 2014-04-19
  • 2014-10-04
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多