BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 David Iffland 关注 4 他的粉丝 ,译者 韩婷 关注 0 他的粉丝 发布于 2016年6月1日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

浏览器大战的激烈一如既往,在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)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT