Node.js与ES632_ES6概述4
一、概述
编程语言javaScript是ECMAScript的实现和扩展。ECMAScript是由ECMA (一个类似W3C的标准组织)参与进行标准化的语法规范。
ECMAScript定义了:
▶ 语言语法:语法解析规则、关键字、语句、声明、运算符等。
▶ 类型:布尔型、数字、字符串、对象等。
▶ 原型和继承
▶ 内建对象和函数的 标准库-JSON、Math、数组方法、对象自省方法等。
ECMAScript标准不定义HTML或CSS的相关功能,也不定义类似DOM (文档对象模型)的Web API,这些都在独立的标准中进行定义。ECMAScript涵盖了各种环境中JS的使用场景,无论是浏览器环境还是类似node.js的非浏览器环境。
ECMAScript标准的历史版本分别是1、2. 3. 5.
那么为什么没有第4版?其实,在过去确实曾计划发布提出巨量新特性的第4版,但最终却因想法太过激进而惨遭废除(这一版标准中曾经有一个极其复杂的支持泛型和类型推断的内建静态类型系统)。
ES4饱受争议,当标准委员会最终停止开发ES4时,其成员同意发布-一个相对谦和的ES5版本, 随后继续制定一些更具实质性的新特性。这一明确的协商协议最终命名为"Harmony",因此,ES5规范中包含这样两句话。
ECMAScript是一门充满活力的语言,并在不断进化中。
未来版本的规范中将持续进行重要的技术改进。
● 2009年发布的改进版本ES5,引入了0bject.create()、Object.defineProperty()、 getters和setters、严格模式以及JSON对象。
● ECMAScript 6.0 (以下简称ES6)是JavaScript语言的下一代标准,2015年6月正式发布。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
二、ECMAScript的快速发展
而后,ECMAScript就进入了 快速发展期。
● 1998年6月, ECMAScript 2.0发布。
● 1999年12月, ECMAScript 3.0发布。这时,ECMAScript规范本身也相对比较完善和稳定了,但是接下来的事情,就比较悲剧了。
● 2007年10月。 。。。ECMAScript 4.0草案发布。
这次的新规范,历时颇久,规范的新内容也有了很多争议。在制定ES4的时候,是分成了两个工作组同时工作的。
▶ 一边是以Adobe、Moilla、Opera和Google为主的ECMAScript 4工作组。
▶ 一边是以Microsoft和Yahoo为主的ECMAScript 3.1工作组。
ECMAScript 4的很多主张比较激进,改动较大。而ECMAScript 3.1则主张小幅更新。最终经过TC39的会议,决定将一部分不那么激进的改动保留发布为 ECMAScript 3.1,而ES4的内容,则延续到了后来的ECMAScript5和6版本中
● 2009年12月,ECMAScript 5发布。
● 2011年6月, ECMAScript 5.1发布。
● 2015年6月, ECMAScript 6,也就是ECMAScript 2015发布了。并且从ECMAScript 6开始,开始采用年号来做版本。即ECMAScript 2015,就是ECMAScript6。