软件下载站,为您提供安全的软件下载!

当前位置:首页 > 电脑专区 > 应用软件 > 电子阅读 > 深入浅出ES6 pdf中文扫描版

深入浅出ES6 pdf中文扫描版

分享到:
学前端的小伙伴,应该对ES6有所了解吧。ES6就是ECMAScript6。小编在前端知识方面还是个白痴,所以就去网上搜索了,从百度百科的资料上来看:ECMAScript是一种由Ecma国际,Ecma国际前身为欧洲计算机制造商协会。通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。ES6更适合熟练掌握了ES5的萝卜们。并且ECMAScript和JavaScript有一种关系,前者是后者的规格,后者是前者的一种实现(另外的ECMAScript方言还有Jscript和ActionScript)。在日常场合,这两个词是可以互换的。学习的前端的宝宝可以码下这本书,好好吸收吸收。深入浅出ES6是一本ES6学习手册。由Jason.Orendorff编著。但是由于文章不全、InfoQ的排版等问题,遂又做一遍翻译。ECMAScript6(亦称ES2015,以下简称ES6)是2015年6月份定稿的第六版JavaScript语言规范。ES6包含了很多新的让JavaScript更为强大、生动的语言特性。感兴趣的小伙伴欢迎来3322软件站免费下载阅读。
深入浅出ES6

深入浅出ES6内容简介:

ECMAScript 包含了什么
ECMA (一个类似 W3C 的标准化组织) 是 JavaScript 语言的标准化组织。JavaScript 正是基于 ECMAScript 标准的实现。ECMAScript 定义了:
语法 - 解析规则、关键词、语句、声明、操作符等。
类型 - boolean, number, string, object 等。
原型与继承
内建对象和函数的标准库JSON,.Math,数组方法以及对象的自省方法等。
ECMScript并没有定义任何与HTML,CSS或者Web.APIs相关的内容,例如DOM(Document.Object.Model)。这些内容都由其他独立的规范定义。ECMAScript 囊括了 JavaScript 语言的所有方面,不仅仅局限于浏览器,也包含了非浏览器环境,例如 Node.js。新标准ES6 是对语言的一次重大升级。同时,现有的 JavaScript 代码仍能继续运行。ES6 在设计的时候就保证了与现有代码的最大兼容性。事实上,很多浏览器已经支持了一些 ES6的特性,并不断努力实现剩余的部分。这就意味着包含 ES6 特性的 JavaScript 代码已经可以在这些实现了 ES6 特性的浏览器中运行了!如果你到现在还没有任何兼容性问题,那么你可能永远不会遇到了。

深入浅出ES6目录:

卷首语
ES6是什么
迭代器和for-of循环
生成器 Generators
模板字符串
不定参数和默认参数
解构 Destructuring
箭头函数 Arrow Functions
Symbols
学习Babel和Broccoli,马上就用ES6
集合
生成器 Generators,续篇
代理 Proxies
类 Class
let和const
子类 Subclassing
模块 Modules
展望未来

深入浅出ES6卷首语:

曾经听许多前端从业者说:“前端发展太快了。”这里的快,十有八九是说层出不穷的新概念,余下的一二,大抵只是抒发一下心中的苦闷罢——前两日刚习得的新技术转眼就“落后”——仔细品味这苦闷,除却不得不持续奔跑的无奈,更多的是一口气,一口卯足了劲儿也要把新知识全数揽入囊中的不服气。作为刚入行的新人,对这点体会颇深。就像是蓦地从某个时间点切入,半数时间向前走,半数时间向后看,瞻前顾后,回味揣摩这十年间的岁月精魄,还得翘首盼着花花新世界,不时再问自己一句,这样走下去真的会好么?是的,其实答案人尽皆知,同时也无人知晓,因为没人能预言未来,顶多只能预测未来,但有一件事情永不会错,当你笃定地沿着一条路走下去,结果通常不会太糟糕,但凡能在浮躁的社会冷静下来潜心磨砺,多少总会有收获。幸而我有意弱化了对新信息的执念,开始做一些事情,《深入浅出ES6》就是其中一件。
纵观整个系列,亦即纵观ECMAScript2015的整个体系,吸取了诸多成功经验:借鉴自CoffeeScript的箭头函数;始于C++项目Xanadu,接着被E语言采用,后来分别于Python和JavaScript框架Dojo中以Deferred对象的面貌出现的Promise规范(详见Async JavaScript一书3.1章);借鉴了C++、Java、C#以及Python等语言的for-of循环语句;部分借鉴Mustache、Nunjucks的模板字符串。
当然,新的语言体系也在之前的基础上查漏补缺:弥补块级作用域变量缺失的let和const关键字;弥补面向大型项目缺失的模块方案;标准委员会甚至为JavaScript增加了类特性,有关这一方面的特性褒贬不一,Douglas.Crockford曾在2014年的Nordic.js大会发表了题为《The.Better.Parts》的演讲,重新阐述了他个人对于ECMAScript6的看法,他认为Class特性是所有新标准中最糟糕的创新(我个人也略赞同这一说法,类的加入虽然有助于其它语言的使用者开始使用JavaScript,但是却无法发挥出JavaScript原型继承的巨大优势);以及为了保持非侵入式弥补其它新特性而诞生的Symbols。
其它的新特性也相当诱人,熟练掌握可以大幅度提升开发效率:迭代器Iterator、生成器Generators、不定参数Rest、默认参数Default、解构Destructuring、生成器Generator、代理Proxy,以及几种新类型:Set、Map、WeakSet、WeakMap、集合Collection。
以上提及的新特性只是其中的一部分,更多的新特性等待着大家进一步挖掘。整个系列的翻译历时150余天,坚持专栏翻译的日子艰苦也快乐,编辑徐川细心地帮我审校每一篇文章,编辑丁晓昀赠予钱歌川先生详解翻译之著作让我大开眼界,与李松峰老师的交流也让我深刻理解了“阅读、转换、表达”的奥义所在,最感谢我的母亲,在我遇到困难需要力量的时候永远支持着我。选择ES6作为前端生涯的切入点实之我幸,恰遇这样的机会让我可以一心一意地向前走,向未来走。我很敬佩在“洪荒”和“战乱”年代沉淀无数经验的前辈们,你们在各种不确定的因素中左右互搏,为终端用户提供统一的用户体验,直到如今你们依然孜孜不倦地吸取业内新鲜的经验。技术在进步,也为前端人提供着无限的可能性,我们有责任也有义务去推动新标准的发展和普及,诚然在商业的大环境下我们不愿放弃每一寸用户的土壤,但携众人之力定将能推动用户终端的革新。ES7标准的提案纷纷提上日程,用不了多久也将登上前端大舞台。也感谢午川同学友情提供译文《深入浅出ES6(十):集合 Collection》,让我在困难时期得以顺利过渡。最后祝愿国内前端社区向着更光明美好的未来蓬勃生长!

深入浅出ES6精彩文摘:

前段时间,官方名为“ECMA-262,第六版,ECMAScript 2015语言规范”的ES6规范终于结束了最后的征途,正式被认可为新的ECMA标准。让我们祝贺TC39等所有作出贡献人们,ES6终于定稿了!
更好的消息是,下次更新不需要再等六年了。委员会现在努力要求,大约每12个月完成一个新的版本。第七版提议已经开始。
现在是时候庆祝庆祝了,让我们来讨论一些很久以来我一直希望在JS里看到的东西——当然,它们以后仍然有改进的余地。
共同发展中的难题
JS和其它编程语言有些特殊的差别,有时,它们会以令人惊奇的方式影响到这门语言的发展。
ES6模块就是个很好的例子。其它语言的模块化系统中,Racket做得特别棒,Python也很好。那么,当标准委员会决定在ES6中增加模块时,为什么他们不直接仿照一套已经存在的系统呢?
因为JS是不同的,因为它要在浏览器里运行。读取和写入都可能花费较长时间,所以,JS需要一套支持异步加载代码的模块化系统,同时,也不能允许在文件夹中挨个搜索,照搬已有的系统并不能解决问题。ES6的模块化系统需要一些新技术。
讨论这些问题对最终设计的影响,会是个有趣的故事,不过我们今天要讨论的并不是模块。
这篇文章是关于ES6标准中所谓“键值集合”的:Set,Map,WeakSet和WeakMap。它们在大多数方面和其它语言中的哈希表一样,不过,正因为JS是不同的,标准委员会在其中做了些有趣的权衡与调整。
为什么要集合?
熟悉JS一定会知道,我们已经有了一种类似哈希表的东西:对象(Object)。
一个普通的对象毕竟就只是一个开放的键值对集合。你可以进行获取、设置、删除、遍历——任何一个哈希表支持的操作。所以我们到底为什么要增加新的特性?
好吧,大多数程序简单地用对象来存储键值对就够了,对它们而言,没什么必要换用Map或Set。但是,直接这样使用对象有一些广为人知的问题:作为查询表使用的对象,不能既支持方法又保证避免冲突。
因而,要么得用Object.create(null)而非直接写{},要么得小心地避免把Object.prototype.toString之类的内置方法名作为键名来存储数据。
对象的键名总是字符串(当然,ES6 中也可以是Symbol)而不能是另一个对象。
没有有效的获知属性个数的方法。
ES6中又出现了新问题:纯粹的对象不可遍历,也就是,它们不能配合for-of循环或...操作符等语法。
嗯,确实很多程序里这些问题都不重要,直接用纯对象仍然是正确的选择。Map和Set是为其它场合准备的。
这些ES6中的集合本来就是为避免用户数据与内置方法冲突而设计的,所以它们不会把数据作为属性暴露出来。也就是说,obj.key或obj[key]不能再用来访问数据了,取而代之的是map.get(key)。同时,不像属性,哈希表的键值不能通过原型链来继承了。
好消息是,不像纯粹的Object,Map和Set有自己的方法了,并且,更多标准或自定义的方法可以无需担心冲突地加入。
Set
一个Set是一群值的集合。它是可变的,能够增删元素。现在,还没说到它和数组的区别,不过它们的区别就和相似点一样多。
首先,和数组不同,一个Set不会包含相同元素。试图再次加入一个已有元素不会产生任何效果。

免责声明:

深入浅出ES6来源于网络,仅用于分享知识,学习和交流!请下载完在24小时内删除。
深入浅出ES6禁用于商业用途!如果您喜欢《微波技术基础》,请购买正版,谢谢合作。
爱学习,请到3322软件站 / 查找资源自行下载!

使用说明:

方法一:
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必在3322软件站选择一款阅读器/zt/430.html下载
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
方法二:
1、在手机里下载3322软件站中的阅读器和百度网盘
2、直接将pdf传输到百度网盘
3、用阅读器打开即可阅读
展开更多

软件截图

扫描二维码,手机下载APP

软件下载站本地下载

相关文章