2016-05-10 极客学院 极客weekly
英文原文来源:Chromium Blog
作者:Seth Thompson
翻译:Guokai Han
JavaScript 是一个持续演进的编程语言,并由浏览器厂商、开发者和社区成员组成的委员会制定标准。在过去两年中,委员会引入了 JavaScript 历史上的最大更新 ES6 ,而 ES 7 是年度更新的第一版。这两个版本共添加了数百个新特性以帮助开发者编写直观、简洁和快速的应用程序。经过长时间的协作设计、规范制定和实现工作,V8 团队完成了 JavaScript 语言支持的一个主要里程碑。现在 Chrome Canary 可同时执行 ES6 和 ES7,这些将被集成到 Chrome 52 中。
ES6 和 ES7 为 JavaScript 开发者带来了许多在其它语言中受欢迎而在 Web 中缺少的功能特性。这些特性可以简化常见编程模式、使代码更容易编写以及定制底层的 JavaScript 行为。例如,类(Class) 可以让开发者更容易地编写面向对象程序,并安全地扩展(extend) JavaScript 内建对象。箭头函数(Arrow functions)、默认参数(default parameters)和数组的便利方法(array convenience methods)使得常用功能更容易编写,而不需要在项目之间复制黏贴代码。JavaScript 的异步处理流和嵌套回调让人难以理解,所以 ES6 中引入了promises 、迭代器和生成器(iterators, and generators)以简化异步代码,让控制流更直观而不易出错。proxies 和 well-known symbols 这样的强大特性让高级开发者可以定制语言的行为从而更好地适应他们的应用需求。
为了能够在网站中充分利用这些新的 JavaScript 特性,各种浏览器都必需支持最新的规范。幸好,跨浏览器支持在去几个月中有了快速的改进。现在所有现代浏览器的最新开发版都已支持超过 90% 的 ES6 规范。通过现有功能来实现尚未支持的特性的方法(polyfill)和代码翻译器(transpilation)也可以支持更老的浏览器。接下来的几个月会有更多的规范实现。最近 JavaScript 在 Web 上的模块化加载机制被标准化为 <script type=”module”> 标签。Chromium 已在开始实现这个新标签。模块支持将很快可用,它让使用 ES6 和 ES7 代码编写网站更容易。
有关 JavaScript 标准处理的更多细节,有些特性仍在讨论中,例如正确的尾调用(tail call)。关于规范一致性的更多技术细节请访问 V8 博客 。请继续关注我们获得后续 JavaScript 特性支持和性能改进的消息。
极客weekly
ID:geekweekly
互联网犄角旮旯的内容汇聚
一个专做分享的平台