转载

WebKit、V8和Edge即将达到100%兼容ES6标准

浏览器大战的激烈一如既往,在WebKit、V8和Edge这三者无休止的争斗中,为了跟上现代JavaScript的要求,它们都达到了重要里程碑。

WebKit背后的开发团队 宣布 ,它已经对照 Kangax兼容性表 达到了对ES6(ES2015)的100%兼容性,这是首次获得如此成就。WebKit是苹果公司的Web浏览器Safari的基础。他们最新的浏览器预览版, Safari 4技术预览版 本身已经达到了99%的兼容性。

Juriy Zaytsev (又名Kangax,即Kangax兼容性表的创始人)说,WebKit的最近进展有点意外:

他们已经落后了很长的一段时间,去年一整年都处于落后。然后又突然迅速加速,走出了这样的困境。我们最近收到了越来越多来自WebKit团队的Pull Request显示,他们正在添加大量的新特性。现在他们和Chrome几乎同时达到了100%的兼容,不同的是Chrome在兼容上面已经努力了很长时间,而WebKit是在最后一段时间突然发力,快速赶上。

另据报道,V8团队(Chrome和 Node.js的JavaScript引擎),已经实现了 async/await 。Microsoft是首个发布具有async/await特性的浏览器预览版的公司, Node.js中V8的使用给了async/await在浏览器之外更宽广的范围。以前开发者可以使用TypeScript之类的转换工具来提前在代码中使用async/await,现在V8引擎已经原生支持这种写法。

Microsoft不甘示弱,已经更新了他们的 Edge浏览器预览版 来提供 ES6模块 。ES6模块的静态特性使得浏览器可以快速执行查找。微软这样介绍其好处:

ES6模块的静态特性使用严格的语法约束了所有全局声明(如if语句、嵌套函数、eval等内部不可包含import/export),所以所有模块都可以在解析时进行检查,而且在执行的过程中不会发生改变。

此外,Edge预览版也包括所有正处于提案状态的ES2016特性(虽然只有两个这样的特性)。

WebKit还没有实现ES6模块。这个功能没有在兼容性表中,Zaytsev说,因为“ES6模块很难用自动化方式测试而且它的标准没有最终确定”所以WebKit可以声称对Kangax兼容性表100%兼容,但是这不一定代表他们达到了100%的ES2015兼容。

这些兼容特性目前仍处于开发和测试阶段,尚不清楚何时正式发布。

查看英文原文: WebKit, V8, and Edge Improve JavaScript Implementations

感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。

原文  http://www.infoq.com/cn/news/2016/06/webkit-v8-edge-es2015-support
正文到此结束
Loading...