欢迎来到深入了解 ES6!在这个新的每周系列中,我们将探索 ECMAScript 6,这是即将推出的 JavaScript 语言的新版本。ES6 包含许多新的语言特性,这些特性将使 JS 更加强大和富有表现力,我们将在未来几周内逐一介绍它们。但在我们开始详细介绍之前,也许值得花一点时间来谈谈 ES6 是什么以及您可以期待什么。
ECMAScript 的范围是什么?
JavaScript 编程语言由 ECMA(一个类似于 W3C 的标准组织)根据 ECMAScript 的名称进行标准化。除其他事项外,ECMAScript 定义了
它没有定义任何与 HTML 或 CSS 相关的内容,也没有定义 Web API,例如 DOM(文档对象模型)。这些是在单独的标准中定义的。ECMAScript 涵盖了 JS 在浏览器中以及在非浏览器环境(如 node.js)中存在的方面。
新的标准
上周,ECMAScript 语言规范第 6 版的最终草案已提交给 Ecma 大会审查。这意味着什么?
这意味着今年夏天,**我们将拥有一个新的核心 JavaScript 编程语言标准。**
这是一个重大的新闻。新的 JS 语言标准并非每天都会发布。上一个标准 ES5 发布于 2009 年。ES 标准委员会从那时起就开始致力于 ES6。
ES6 是对语言的重大升级。同时,您的 JS 代码将继续工作。ES6 旨在最大程度地与现有代码兼容。事实上,许多浏览器已经支持各种 ES6 特性,并且实施工作正在进行中。这意味着所有 JS 代码都已经在实现某些 ES6 特性的浏览器中运行了!如果您现在还没有看到任何兼容性问题,那么您可能永远也不会看到。
数到 6
ECMAScript 标准的前几个版本编号为 1、2、3 和 5。
第 4 版发生了什么?曾经计划过 ECMAScript 第 4 版——事实上,人们为此付出了大量的努力——但最终由于野心太大而被放弃。(例如,它有一个复杂的可选静态类型系统,具有泛型和类型推断。)
ES4 存在争议。当标准委员会最终停止对其工作时,委员会成员同意发布一个相对简单的 ES5,然后继续致力于更重要的新特性。这项明确的、协商一致的协议被称为“和谐”,这就是 ES5 规范包含这两句话的原因
ECMAScript 是一种充满活力的语言,并且语言的演变尚未完成。未来版本的本规范将继续进行重大的技术增强。
此语句可以被视为某种承诺。
已解决的承诺
ES5(2009 年对语言的更新)引入了 Object.create()
、Object.defineProperty()
、getter 和 setter、严格模式 以及 JSON
对象。我使用了所有这些特性,并且我喜欢 ES5 对语言所做的改进。但要说这些特性对我的 JS 代码编写方式产生了戏剧性的影响,那也言过其实了。对我来说,最重要的创新可能是新的 Array
方法:.map()
、.filter()
等等。
好吧,ES6 则有所不同。它是多年和谐工作的结果。它是一个包含大量新的语言和库特性的宝库,是对 JS 有史以来最重大的升级。新特性从受欢迎的便利功能(如箭头函数和简单的字符串插值)到令人费解的新概念(如代理和生成器)应有尽有。
ES6 将改变您编写 JS 代码的方式。
本系列旨在通过检查 ES6 为 JavaScript 程序员提供的新的特性来向您展示如何做到这一点。
我们将从一个经典的“缺失特性”开始,在过去十年的大部分时间里,我一直渴望在 JavaScript 中看到它。所以,下周加入我们,了解 ES6 迭代器和新的 for-of
循环。
7 条评论