ES6出生、发展、前景

今天给大家分享的是在我上个月接触到的一个既熟悉又陌生的知识-- ECMAScript。陌生是因为之前从来没接触过这个东西,熟悉是因为它与JavaScript的剪不断、理还乱血缘关系,可以这么说JavaScript既是ECMAScript的生母又是ECMAScript的儿子。此话怎讲,列位看官,且听我慢慢道来。

出生背景

话说天下大势,分久必合,合久必分。在上世纪九十年代,有一个叫Nombas的公司开发了一种叫c--(c减减)的嵌入式脚本语言,它的横空出世,也让当时的人们领略到了它的雄姿勃发。开始之初该语言绑定在一个CEnvi的软件中,能将脚本语言嵌入网页中,它的出生也开启了在客户端使用的脚本语言的先河。后来演变成了ScriptEase(被收购后就销声匿迹了)。
后来,网景公司(Netscape)基于Navigator浏览器开发出了LiveScript(后更名为JavaScript);微软看到了该脚本语言的强大,也想在浏览器市场上分一杯羹,于是发明了JScript(LiveScript的克隆版),用于自家开发的IE浏览器之上。

三分天下

自此,三分天下的局面就形成了。那就免不了一场世纪之战,也就是后来不人们说的浏览器大战。最终结果是IE凭借雄厚的实力(编外语:呵呵),赢了浏览器的天下。

JavaScript刚出生,正在功能完善期,三个版本同时共存,各自基于不同的浏览器开发大同小异的功能,这就会出现什么问题?浏览器的兼容问题啊!你们搞斗争,我们搞兼容。受苦的可是我们啊,宝宝心里苦啊。

ECMAScript初步形成

在历史长河中,矛盾始终是历史推进的必要条件。正是基于这种斗争的矛盾下,统一JavaScript脚本语言的任务就被提上议事日程了。最终1997年,以JavaScript1.1为蓝本的建议被提交到了欧洲计算机制造协会(European Computer ManufacturersAssociation)。该协会有个39号技术委员会就负责制作统一JavaScript脚本语言的标准。

当然,该部门由网景公司技术员、微软公司的技术员、Sun公司技术员(95年开发了java语言,现在被甲骨文公司收购)以及众多热衷于语言开发的技术员组成。历时数月,出了一个文件叫--ECMA-262标准,也就是ECMAScript标准。后来各大浏览器开发商(除比较“实力雄厚”的IE外,不过近年来看还是妥协了)皆以ECMAScript标准当做JavaScript实现的基础。

历史概括

关系履明白了吧。总结一下它的成长历史:就是一个横空出世的天赋异禀的少年(嵌入HTML的脚本编程语言),在成长的道路上被不良少年带坏了(IE,navigator等),后来官方(ECMA)看不下去了,就派相关部门,制作了一个“三好学生养成手册”(ECMAScript-262),给这个少年铺了一条平坦的康庄大道(2016年至今的统计:编程语言中的前十名),逐步走向人生巅峰。

版本更迭

自1997年到现在已经有近20个年头了。ECMAScript也从ECMAScript 1版发展到了现在的ECMAScript 6,经历了20年间的6个版本的更迭。在目前的js手册基本都是沿用的ES5的标准。ES6的标准早在09年ES5发布时开始准备,在15年6月份发布,是历经6年厚积薄发。版本的改动太大了,不过刀妹还是强势,咳咳,又跑题了。但ECMAScript版本都是向下兼容的,不要害怕,以前知识还可用。

新特性

ES6是对增加不少新特性、新函数以及新的语法。比如新增添局部变量声明方法,常量声明方法,语句块成了局部作用域,模板字符串(新的字符串声明方式,支持直接变量),解构赋值,箭头函数(函数简写方式),新的“...”符号,继续迭代器(yield,这个我在阿里云存储OSS的demo里见过),模块,class(类)等等等等新特性,真让人应接不暇。这里不做详细解读,因为这些写下来可以写一本书了。

发展前景

聊一下发展前景,我相信大家应该都听过node.js了,一言以蔽之就是一个js代码的后端运行环境。意味着可以用js代码搭建一个Apache服务器出来。Node.js在09年开发出来,发展至今已经6个年头了,近年来的火爆程度相信大家都看出来,在github也一度成为最受欢迎的开源项目之一。

那我总结一下为什么node.js受欢迎:
1.采取事件驱动、异步编程,也是js
的特性。这应该不用解释了吧。有这个特性,是不是能够更好的处理高并发。
2.Node.js在github上拉一个包下来,环境就搭好了,简单、轻量、高效。
3.Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高性能与出众的负载能力,非常适合用作依赖其它IO资源的中间层服务。
4.前后端语言一致,是不是前端UI也能写服务器的程序了。
5.模块、组件完善,比如你想要一个天气插件,npm install weather(这只是举例),一条命令,实现了,神不神奇,意不外意外?
说到这,如果我是node.js
,我只霸气的单腿站在凳子上说一句:妈的,还有谁!

好的,在Node.js的蓬勃发展下,同时HTML5中也给js封装好了好多接口如canvas等等。但是你要说node.js没缺点那不可能,但在它的诸多优点情况下,发展前景还用我多说么?身为开发者的你怎么能不爱上她(注意断句)。

格言

岁月静好,感恩万物,一人终老;
翻译成英文就是:fine,thank you,and you。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • JavaScript语言的历史 来自《JavaScript 标准参考教程(alpha)》,by 阮一峰 目录 Ja...
    Seachal阅读 4,629评论 2 5
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 9,016评论 2 41
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    Myselfyan阅读 9,559评论 2 58
  • 继之前的《心理追凶》的心理问题,这次的群体是这群心理学家和精神科医生。心理学家跟精神科医师最大的区别是药物治疗,心...
    诗影亮画阅读 3,887评论 0 0
  • 王建国被带进审讯室。这个中等身材,体型壮实的男人进来后,神情散淡的坐在审问席上。东张张,西望望,似乎觉得很新鲜,满...
    铁马老言阅读 3,641评论 0 2

友情链接更多精彩内容