深入了解 ES6:入门

欢迎来到深入了解 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()gettersetter严格模式 以及 JSON 对象。我使用了所有这些特性,并且我喜欢 ES5 对语言所做的改进。但要说这些特性对我的 JS 代码编写方式产生了戏剧性的影响,那也言过其实了。对我来说,最重要的创新可能是新的 Array 方法:.map().filter() 等等。

好吧,ES6 则有所不同。它是多年和谐工作的结果。它是一个包含大量新的语言和库特性的宝库,是对 JS 有史以来最重大的升级。新特性从受欢迎的便利功能(如箭头函数和简单的字符串插值)到令人费解的新概念(如代理和生成器)应有尽有。

ES6 将改变您编写 JS 代码的方式。

本系列旨在通过检查 ES6 为 JavaScript 程序员提供的新的特性来向您展示如何做到这一点。

我们将从一个经典的“缺失特性”开始,在过去十年的大部分时间里,我一直渴望在 JavaScript 中看到它。所以,下周加入我们,了解 ES6 迭代器和新的 for-of 循环。

关于 Jason Orendorff

更多 Jason Orendorff 的文章……


7 条评论

  1. Oleg

    不错的文章。如何订阅每周系列“深入了解 ES6”?您有 RSS 吗?谢谢。

    2015 年 4 月 26 日 04:28

  2. Jaydson Gomes

    太棒了,Jason。
    我期待着接下来的文章。

    2015 年 4 月 26 日 17:21

  3. Havi Hoffman [编辑]

    @Oleg,您应该能够按类别订阅我们的 RSS 提要:https://hacks.mozilla.ac.cn/category/es6-in-depth/feed/

    @Jaydson 感谢阅读和分享!

    2015 年 4 月 27 日 15:17

    1. Matija

      哇,按类别订阅 RSS 太棒了!
      之前不知道这个功能 :)

      谢谢!

      2015 年 4 月 30 日 02:30

  4. Taylor Jones

    真的很期待本系列即将发布的文章。希望它能比每周一次更频繁,但我理解这是一个需要涵盖的大而复杂的技术话题。我希望看到您介绍一种在浏览器中使用异步模块的好方法。

    我已经订阅了!

    2015 年 4 月 28 日 09:05

  5. Joshua Jarman

    很棒的系列。非常期待 Javascript 的最新版本,这些文章对于阐明一些令人惊叹的新功能将是无价之宝。

    2015 年 5 月 5 日 13:43

  6. KevinM

    虽然这并不完全切题,但可以注意到 TC39(负责监督 Emcascript 规范的委员会)或多或少已经同意每年发布一次新的规范更新。让我们期待不要再等待 5 年以上才能获得更新!

    2015 年 5 月 5 日 13:59

本文的评论已关闭。