多种网盘链接检测插件 购买前,请先检测网盘链接是否有效
《深入理解ES6》_1
《深入理解ES6》_2
《深入理解ES6》_3
内容简介:
内容简介
ES6是 Ecmascript标准十余年来变动最大的一个版本,其中添加了许多新的语法特性,既有大家耳
熟能详的 Promise,也有闻所未闻的 Proxy_代*_和 Reflection反射:既有可以通过转译器( Transpiler)等方
式在旧版本览器中实现兼容的let、 const、不定参数、展开运算符等功能,亦有无论如何都无法实现向
前兼容的尾调用优化。深入理解ES6的特性对于所有 Javascript开发者而言至关重要,在可预见的未来
ES6中引入的语言特性会成为 Javascript I应用程序的主流特性,这也是本书的初衷。希望你通过阅读本书
可以了解ES6的新特性,井在需要时能够随时使用
Copyrighte2016 by Nicholas C, Zakas, Title of English-language original: Understanding Ecmascript 6,
ISBN978-1-59327-757-4, ublished by No Starch Press, Simplified Chinese-language edition copyright C201 by
Publishing House of Electronics Industry. All rights reserved
本书简体中文版专有出版权由 No Starch Press授予电子工业出版社
专有出版权受法律保护
版权贸易合同登记号图字:01-2016-9347
图书在版编目(CIP)数据
深入理解ES6/(美)尼古拉斯?泽卡斯( Nicholas C. Zakas)著;Liu振涛译.一北京:电子工业出版
书名原文: Understanding Ecmascript6
BN978-7-121-31798-9
1.①深…I.①尼…②Liu…. DJAVA语言一程序设计V.①TP312
中guo版本图书馆CIP数据核字(2017)第129960号
策划编辑:张春南
责任编辑:徐津平
印刷:三河市良远印务有限公司
装订:三河市良远印务有限公司
出版发行:电子工业出版社
比京市海淀区万寿路173信箱
邮编:100036
开本:787×98016
印张:24.75字数:474千字
版次:2017年7月第1版
印次:2017年7月第2次印刷
凡所购买电子工业出版社图书有缺损问題,请向购买书店调换。若书店售缺,请与本社发行部联系
联系及邮购电话010)8825488888258888
质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbgqaphei.com.cr
本书咨询联系方式:010-5126088-819 faq(a phei. com. cn
译者序
十年前谁也无法料到,彼时只能写小动画的玩具语言 Javascript竟会有如
今之威力,这愈发显现出 Atwood定律“凡是能用 Javascript写出来的应用,最
终都会用 Javascript来写”的正确性。追本溯源,这与 Ecmascript f的发展功不
然而, Ecmascript的发展并非一帆风顺
1999年末,ECMA-262第3版正式定稿,在之后的五六年中,几乎看不
标准的任何新进展。直到2005年Zuo右,随着 GuGe在多个重交互的应用中
普及Ajax,开发者们逐渐接受这项新技术并逐步恢复对 Javascript的关注。于
是, Javascript创始人 Brendan Eich紧锣密鼓地筹划 ECMASCRIPT4标准,直到
2007年,耗时两年的 Ecmascript4标准扩充工作在 Jeff Dyer看来已经达到
Ecmascript3的两倍以, Brendan遂撰文?进一步澄清与解释
Douglas Crockford认为这是一种过度复杂的税负ri,并联合微软起草
准,沖突过后,占据奥论优势的 Ecmascript31于5200年作为ESE式今
Ecmascript3.1提案,同时,微软也在TC-39会议中正式反对ES4中的部
Ecmascript4并未就此消亡。委员会全体成员将 ECMASCRIPT31与
ECMASCRIPT4中的精华保留,作为 Ecmascript Harmony(取和谐之意),它转
而成为委员会的下一个目标 Ecmascript6,并于2015年6月正式定稿,最终
被命名为 ECMASCRIPT2015。委员会一改往ri冗长的议程,约定每年必出一版
通常以当年年份命名。截至此书翻译完毕, Ecmascript2016也于2016年6月
正式定稿?,最新标准尚在_进.程_中
《 Understanding Ecmascript6》一书是作者 Nicholas C. Zakas在 Github开
源社区撰写而成。作为标准的转述者,存在部分理解误区合情合理,本译作
基于 No Starch Press出版社于2016年8月出版的首印版,适当参考 Github中
的讨论集结而成
在本书翻译结東之际,感慨万千。首先感谢裕波,是他的引荐让我有机会
翻译本书。特别感谢Li松峰老师、Hax老师与克军老师的不吝賜教,帮助我审
校翻译内容。还要感谢博文视点的侠少(张春雨编辑),他高标准、严要求的专
业态度时刻鞭策我前行
感谢就职于腾 讯的时光,带我入行的导师张坤、为我解答所有疑惑的Lead
Chen恕胜、共同学习成长的兄弟Chen炜鑫及其他伙伴,你们一丝不苟的态度不断磨
练我的心性
最后,特别要感谢我的母亲杨虹女士,每当我不堪于兼顾工作与翻译的时
总是您的鼓励点亮我前进的道路
在本书的翻译过程中我力求还原作者本意,但限于时间与水平,翻译不当
之处在所难免,还敬请各位读者不吝赐教,我也会及时与出版社同步以备再版
时进行修正,或以勘误的形式公布。如您有任何想法与建议,欢迎写信至我的
邮箱: menville(a gmail
(htps:/www.ecma-intemational.org/publications/files/ecma-st-arch/ecma-262,
3rd edition, December 1999. pdf
2https:/mail.mozilla.org/pipermai/es-discuss/2007-october001442.html
(3]https:/brendaneich.com/2007/11/es4-news-and-opinic
(4]https://mail.mozilla.org/pipermail/es-discuss/2008-march/002529.html
(5]htp://www.ecma-intemnationalogpublications/files/ecma-st-arch/ecma-262
5th edition December 2009.pdf
[6https:/www.ecma-international.org/ecma-262/7.0/index.html
(7]https:/tc39.github.io/ecma262/
8https://github.com/nzakas/understandinges6
iv深入理解ES6
关于作者
Nicholas C. Zakas自2000年以来一直致力于Web应用程序的开发,重点关
注前端开发,并以写作和讲述前沿最佳实践而闻名。他曾于雅虎主页任职5年
有余,他也是多本书的作者,其中包括 The Principles of Object-oriented
Javascript( No Starch Press出版社)和 Professional Javascript for Web Developers
(Wrox出版社)
关于技术评审
Juriy Zaytsev(在网上以 kangax著称)是组约的一位前端网站开发人员
自2007年以来,他一直在探索 Javascript I的怪异特性并撰写相关文章。 Juriy为
多个开源项目做出过贡献,其中包括 Prototype. js和其他的热门项目,如他自己
的 Fabric, is。他是按需定制打印服务 prints.ru的共同创始人,目前任职于
序
Ecmascript6如暴风雨般骤临世界,人们期待已久而它却突然出现,传播
之快始料未及。每个人都与 Ecmascript e6有着一段不同的故事,以下是我的故
2013年,我还在一家创业公司工作,正在从iOS转向Web研发,之后我参
加了 Javascript开源社区并共同创建了 Redux。当时我正在努力学习Wcb开发
而且我非常害怕,我的团队必须在短短几个月的时间内将我们的产品用
javascript重构为Web版
起初我认为用 Javascript编写大型软件的想法很可笑,但是一名团队成员
说服了我,他说 Javascript不是一门玩具语言。我同意撤开成见试一试,于是
打开MDN和 Stackoverflow首次深入学习 Javascript。我对这门简约的语言着
了迷,我的同事还教我如何使用工具,例如代码整理工具( linter)和代码合并
工具( bundler)'。在这几个星期里我恍然大悟,原来我如此喜欢编写 Javascript
但没有一门语言是完美的,由于使用过其他语言,我非常希望 Javascript
也可以频繁更新,但在这10年间, Ecmascript5是唯一的重大更新,它只实
现了一小部分特性,完全支持测览器需要数10年的时间。彼时,即将到来的代
号为 Harmony的 ECMASCRIPT6(ES6)规范尚未完成,遥遥无期。“也许在10
年内我能够写一些 Ecmascript6代码吧。”我想
一些实验性的“转译器( Transpiler)”,如GuGe的 Traceur,可以将代码从
译者注:代码压缩工具( minifier)对于生产力和性能来说也至关重要
|
|