什么是ES6?

JavaScript09

什么是ES6?,第1张

ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。

ECMAScript和JavaScript到底是什么关系?很多初学者会感到困惑,简单来说,ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。

1996年11月,JavaScript的创造者Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这种语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript。这个版本就是ECMAScript 1.0版。

ES6的目标,是使得JavaScript语言可以用来编写大型的复杂的应用程序,成为企业级开发语言。

ES6官方中文教程: http://es6.ruanyifeng.com/

1. JavaScript DOM 编程艺术

这本书作为被大家推荐的最多的前端入门书籍是有道理的。

他能真正让大家了解dom脚本编程,或是说前端编程技术背后的思路和原则。

对于初学者来说,这本书没有任何门槛,按部就班跟着书籍实例编写代码即可。

我们会知晓如何对浏览器元素操作和掌控,会学会如何实现简单的页面效果。

这种简单易得的成就感是一个编程语言入门时最难能可贵的体验。

阅读建议:

这本书虽然简单,但是能让人快速对前端产生兴趣和成就感。

不过后续学习jquery的时候可能会产生挫败感。原生js dom操作的成就感会被jquery便捷的API所彻底打败。所以一定要恰当的调整心态,转换思维方式,正确认识到jquery和原生js分别的优劣之处。

在熟练使用jquery后还能想起来翻看这本书,找到之前未曾发现的闪光点,就是入门成功了。

2. JavsScript高级程序设计(第三版)

无论何时,这都是学习js最好的书。

如果说其他的书都是在合适的阶段会有不一般的体验。

这本书就是无论什么阶段,都够你感悟一番的。

当你看完了市场上js相关(不包括框架类库的最佳实践类)的所有书籍。你再回去看这本书,也会发现其实95%的内容早就写在这本书里了,只不过你当时等级不够,根本没有意识到。

这本书排版舒服,翻译得体,内容丰富,语言流畅。涵盖了js语法(面向对象,闭包作用域等),js使用(dom,bom,html5API),编程实践(高阶函数,编码规范)等程序员使用javascript时会遇到的大部分问题。

(今天在上海面试了一天。大部分很顺利,只是有几个比较偏的问题没回答好。晚上回去之后一翻高程三,果然在里面都写得明明白白的。不得不服。)

阅读建议:

人们喜欢把他和犀牛书拿一起推荐,不过就我看来,他们完全不是一个可读性上的。

一个是课本一个是字典。而且还是佶屈聱牙的字典。

所以无论何时我都会把高程三排在js推荐书籍的第一位。

3. 锋利的jQuery

图忘了拍了,就不补了。

这本书如果紧接着dom编程看,会如我我说的那样瞬间摧毁你的小小的成就感。

因为这本工具书级别的书简单暴力到不给你思考什么“平稳退化”,“js动画计时器”这些dom编程中提及的问题,就直接就甩出一大片简单有效的jqueryAPI颠覆你的世界观。

这本书是如此的易懂以至于看完之后瞬间就觉得自己能把web玩出一片花来了。

作为工具书级别的书,或是说学习jqueryAPI的书,这是首选。

阅读建议:

熟悉jquery是每个前端必须要会的事。

只是不要被Jquery的便捷迷惑,而抛离原生js,把原生js贬得一文不值,否则后面会付出昂贵的代价。

4. 学习Javascript数据结构与算法

这本书相对是一本冷门书。

为什么我会推荐他,是因为他能解决每个半路出家的js程序员都曾思考过的一些问题:

1. 我们的数组Array这么强大,要栈Stack,队列Queue这些功能少,半半拉拉的东西干什么呢?

2. 我们学的数据结构搞来搞去好像也就那些玩意,为什么被大家这么推崇,还要分门别类讨论呢?

所以这本书只是为何告诉你上面这些问题的答案:

1. 栈和队列本来就没有Array功能强。没有Stack和Queue类只是因为ES5不去实现它而已。作为一种相互之间存在一种或多种特定关系的数据集合,其存在意义是不应该被其功能强大与否来决定的。

2. 数据结构和编程语言无关。语言死了,他们会在下一门语言里重生。哪怕计算机死了,他们都会在下一个概念体里重生。

阅读建议:

跟着书本把这里面的结构全部敲一遍,快的话一天就能搞定。

从此你便再不怕惧怕js相关的简单数据结构问题。

但是,遇上高级的树,图等问题该跪还是要跪。因为这本书虎头蛇尾,后面的高级点的数据结构介绍的不够深。

适合经常反思“它从哪里来,要到哪里去?”的js程序员,或后悔以前数据结构没好好学的前端同学。

5. JavaScript设计模式与开发实践

我认为腾讯AlloyTeam的这本书对我帮助媲美高程三。

那时候我恰好换公司,从原来的开发方式切换成另一种完全不同的开发方式,让我很不适应。

这本书及时的蹦出来,他拿实际的应用场景举例,告诉你不同js项目里如何共通设计模式,还极其详细的介绍了函数的高级用法,能让你对js高阶函数的认知上升一个台阶。

难能可贵的是他还拿java作为静态语言的类比。从语言统一高度来给你分析这些问题。

和上本介绍数据结构的书一样,这本书有的放矢,能完美的解决对js设计模式有疑问的同学的实际问题。

他比上本书更深刻,更易读,也更贴近实践。

阅读建议:

这是本适合反复阅读的书籍。

如果你的思路能根据应用场景自动切换到最适合的设计模式,说明你已吃透这本书了。

6. 高性能JavaScript

作为Orelly唯一一本我确实认可的javascript相关的书。作为Orelly唯一一本我确实认可的javascript相关的书。

他摒弃了Orelly系列所有我不喜欢的特点:

老外的聊天说教式阅读体验,样例不够丰富,排版单一,破事水等。

他的优点如下:

1. 情景丰富,基本涉及所有js性能优化的场景。还会给出不同场景的实际测试数据,真实可信。我们在阅读这些场景实例的同时也丰富了自己js的使用经验。

2. 给出了很多看似"旁门左道"的解决方案,而这些冷门的解决方案恰恰是有些人死活百度不到的真正能解决问题的最优解。

3. 在说问题的同时说原理,深入浅出,游刃有余。所以这本书不仅仅是一本介绍js性能相关的书,而是一本涉及浏览器原理,js解析原理,用户体验等知识的javascript最佳注解。

阅读建议:

建议和高程三一起看,可以算是高程三阅读的最佳伴侣。

高程三告诉你“他叫什么,他什么样”,

这本书就告诉你“他为什么”,“他该怎样”。

所以,当别人还在为某些问题绞尽脑汁的时候,你已经从起点上干翻他们了。

7. 你不知道的JavaScript(YOU DONT KNOW JAVASCRIPT)

大名鼎鼎的Github开源的书籍。大名鼎鼎的Github开源的书籍。

为了他的名气我也得买一本实体书来拜读下。

这本是上卷,只涉及作用域和闭包,this和对象原型两部分。

不过其深入程度是其他js书籍难以企及的。

可以说,这已经是大部分前端程序员对js语法可以深入了解的最底层了,再往下就直面编译原理了。

在编程语言界,越老的语言,支持的人越多, 生命力就越持久, 这其中的关键还是社区的力量。

虽然编程语言还叫那个名字,但是语法,类库,框架和思想早就变得天翻地覆了,可以说,只剩下精华,而框架和可重用组件总是在更新换代,或许是为了效率,或许是为了成本,也可能因为其他原因。毕竟计算机总是在为人类服务的,而人类社会,是一个讲道理却不讲规矩的世界, 当然,有的人世界观正好相反,我们称之为上流社会。

至于JavaScript,虽然规范很多,碎片很多,支持和兼容性问题更多,但是,得利于互联网的发展和前些年奠定的早期优势。 浏览器(Browser)这个大平台已经占据了互联网客户端的绝大多数。

比如360一个安全卫士的客户端,虽然装上之后系统响应变慢5-10倍,但是很多时候还是不能缺少,只因为微软自己作死,故意把Windows做的比较难用,和自己的高端版本形成差别,于是安全卫士夹缝中生存,迅速壮大,发展了号称有好几亿的用户,但其中有多少水分,重装系统,卸载等等等等,所以这数字大家看了心里安慰下自己就好。

而几亿用户就活得这么滋润,可以恣意妄为,而企鹅就更坏了,反正店大欺客也不是一次两次, 粗略估计企鹅差不多有10亿左右的用户,算是各种东西和一人多号的话。

水了一堆,关键看浏览器,据说有20多亿的客户端,这数字还是比较靠谱的,那也就是20多亿个平台,基本上有计算机的地方就有浏览器。

其实我想说的是,做专有平台的开发工程师比较吃香。 JS、IOS、Android等等,而做通用平台的开发,因为入门简单,竞争激烈,对于底层程序员来说,反而待遇不这么好。 当然,这事不绝对,有实力,有智商,有背景,有毅力,有运气,这些神器只要占了一样,不管做什么都可以活得很好。

其实我真正想说的是AngularJS,关注了一年多,国内已经有大神级前端持续跟进, 根据我所在的社区和所见所闻,未来的前景和使用率应该会稳步上升, 如果谷歌不吃错药的话,3-5年后估计大多数的前端开发都要变一个样了。个人职业生涯的技术选型就是这样,新技术跟进的早,那自然先进的有汤喝,后进的干瞪眼。

而如果说收获,编程界万年不变任何语言框架通用的就是思想,以及思维的思想。【程序员就是一群靠智商吃饭的家伙】