by Nicholas C. Zakas
ECMAScript 6 是 JavaScript 这门语言有史以来核心变动最大的一个版本,第六版不仅增加新的对象类型,还增加了新的语法和令人激动的新能力。经过数年的研究和讨论,ECMAScript 6 于 2014 年不再增加新特性。所有的 JavaScript 环境都需要点儿时间来支持 ECMAScript 6,在这之前,提前了解一下即将实现的和已经实现的新特性会很有帮助。
这本书是由 ECMAScript 5 到 6 过渡的一个指南,并不针对任何一个 JavaScript 环境,所以无论对于 Web 开发者还是 Node.js 开发这来说它都同样地实用。
你将会学到的知识有:
- 自 ECMAScript 5 以来语言的所有改变
- 如何将新加入的 class 语法与更熟悉的 JavaScript 概念联系起来
- 为什么 iterators 和 generators 很实用
- 存储数据有更多额外的选择:sets、maps还有其它的一些概念
- 继承自原生类型的巨大威力
- 为什么人们对于使用 promises 进行异步编程感到非常激动
- modules 如何改变你组织代码的方式
公开发布的版本(英文版|中文版-尚未发布)包含最新的经过校对的内容,你可以免费阅读。内容可能不完整但绝对是正确的,新版本一个月会发布几次。
公开发布的版本中未提及的任何事情都被认为是半成品,它们可能尚不完整或者不正确。
你可以通过这个链接(英文版|中文版-尚未发布)购买一份电子书的拷贝
即使这本书被开源撰写,但这个项目与开源软件项目的工作方式不太相同,在参与贡献前请仔细阅读下面的内容。
Leanpub 使用一个特定格式的Markdown作为它的源文件。请仔细阅读他们的文档,你将会了解你可以使用的和你不能使用的标记。
**注意:**阅读的过程很枯燥,但 Leanpub 真的不支持 Github 的 Markdown 格式。
只有 更正内容 的 Pull requests 会被接受,提供原创内容 的不会被接受。 可接受的 pull requests:
- 排版错误
- 语法/拼写错误
- 不同的描述
- 习语说明
不被接受的 Pull requests
- 新增的内容
- 新的章节
基本上,你可以用 pull requests 来修改 repo 中已有的内容,但是不能添加 repo 中没有的内容。
**注意:**一个可接受的 pull request 意味着你的名字会被加入到贡献者列表中,你仍然会受到license的约束,只要提交的内容被合并,你将失去对这段内容的所有权,你所做的工作将视为对这个项目的捐赠行为。
Issues 可以被用来指出错误,也可以用来提建议。 issues可以被用来:
- 询问有关文章的问题
- 指出文章的错误或问题
- 要求为小节增添更多的内容
- 推荐新的主题
所有打开的 issue 会得到妥善处理,当 issue 处理完毕或不再处理时会关闭它。
Issues 不应该被用来:
- 询问具体的小节或章节何时完成
- 提及 “TODO” 列表中已有的计划
这种类型的 issues 将会被简单地标记为 invalid 并关闭,你将不会得到任何解释。
Copyright 2014 Nicholas C. Zakas.
这个项目遵循 Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License 协议。
时间待定。我利用空闲时间写作这本书,很难预测何时完成,目前打算在 2014 年 12 月之前完成,但这不是最终的截止日期。
是的,你现在购买一份拷贝,你将自动获得这本书的所有更新,购买后你会定期收到邮件通知你有新版本发布。
差不多每周或每两周会将 Github 上的更新发布到 Leanpub。
Github 上的所有内容都是半成品,完全正确且足够完整的那部分内容会被发布在 Leanpub。这就是为何 Github 里的文章会比 Leanpub 上能看到的多,因为 Github 上包括了所有的内容,其中就有那些不适合作为书本发布的文章。
答案十分可能是是的。我已经联系了几个出版商,但是在本书最终完成前不会做最后的决定。我有意为之,因为出版商总会限定一个截止日期,如果匆忙赶时间就无法激发出我的灵感。
现在还不行,我将会把相关工作移交给我的出版商。