JavaScript:到底什么是ES6、ES8、ES 2017、ECMAScript?

学习 JavaScript 和 ECMAScript 历史和它们命名的由来!

学习 JavaScript 过程中可能会有一些疑惑。特别是一些缩写,一些缩写的组合;我们就来彻底解释下这些名词。

什么是 ECMAScript?

这发生在很久很久以前:

  1. JavaScript 原本命名这个名字是因为想借助 Java 的成功,以在业界能够站住脚。
  2. Netscape 公司提交了 JavaScript 到 ECMA International 作为一个标准。(ECMA 是一个专门做标准建设的组织)
  3. 结果就是这个新语言的标准,就叫做 ECMAScript.

简单来说,ECMAScript 是个标准,同时 JavaScript 又是实现这个标准用的最多的语言。JavaScript 本身就是建立在 ECMAScript 标准上的语言。

那么 ‘ES’ 又是什么…?

ES 是 ECMAScript 的缩写。每次看到 ES 后面跟着数字,是 ECMAScript 的不同版本。实际上一共有 8 个版本。我们来深入了解下:

ES1、ES2、ES3、ES4

ES1:1997 年 6 月  ——  ES2:1998 年 6 月  ——  ES3:1999 年 12月  ——  ES4:未通过

我把所有这些组合起来。这是前 4 个版本的 ECMAScript,这里简单过一下。仅仅让你知道前 3 个版本每年出一个,而第 4 个版本因为政治因素未通过。

ES5

2009 年 12月:将近 10 年之后,ES5 在 2009 年发布。而下个版本的 ECMAScript 也花了 6 年才发布。

ES6 / ES2015

2015 年 6 月:也许困惑就是从这里开始的。你可以看到, ES6 和 ES2015 实际上是同一个东西。

起先被推广的名字是 ES6 。然而组委会要求 ECMAScript 必须做到每年做一次更新。由此,这个版本被更名为 ES 2015,且每年都需要更新,并命名为当前年的后缀。

ES2016 (ES7)

2016 年 6 月:ECMAScript 的第 7 个版本。

ES2017 (ES8)

2017 年 6 月:ECMAScript 的第 8 个版本。

ES.Next

你可能会看到 ES.Next 的出现。这个是不稳定版本,是下个版本出现前的一个成果物。

为什么要这样?

因为每次发布都会为语言带来更新和新特性。

关键点

  • ECMAscript 每年都会更新一版.
  • ECMAScript 的命名是根据数字排序,从 1 开始: ES1、 ES2、 ES3、 ES4、 ES5
  • 新版本(从 2015 年起) ES 命名是根据年份来算的: ES2015、 ES2016、 ES2017
  • ECMAScript 是一个标准。JavaScript 是一种流行的 ES 标准的实施语言。 其他的一些实施标准语言有: SpiderMonkey、 V8 和 ActionScript。

希望下次你再看到 ES 时,你会对它的定义有更好地理解!

本文作者:Brandon Morelli

来源:51CTO

时间: 2024-10-26 03:09:51

JavaScript:到底什么是ES6、ES8、ES 2017、ECMAScript?的相关文章

关于对象-javascript到底应该怎么学?求支招

问题描述 javascript到底应该怎么学?求支招 现在正在学javascript.可是真心觉得它的对象方法真的很多,而且使用也很复杂,该怎么办??? 解决方案 不要着急,慢慢来,多写写,但一定要注意准确性,这种代码错误了是不提示的,多练,个人认为!熟能生巧! 解决方案二: 看<javascript语言精粹>,不要担心,这本书很薄. 解决方案三: js中大多数的东西都是糟粕,也没用,这本书正是告诉你如何仅仅用js中的一点点特性去编写优雅的程序. 解决方案四: 首先区分开JavaScript的

JavaScript学习笔记之ES6数组方法_javascript技巧

ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代号harmony(和谐之意,显然没有跟上我国的步伐,我们已经进入中国梦版本了).上一次标准的制订还是2009年出台的ES5.目前ES6的标准化工作正在进行中,预计会在14年12月份放出正式敲定的版本.但大部分标准已经就绪,且各浏览器对ES6的支持也正在实现中. ES6给数组添加了一些新特性,而这些新特性到目前为止完全可以运用到自己的业务层.在这一节中将总结有关于ES6给数组提供一些新特性的使用方法. ES6提供

浅谈JavaScript、ES5、ES6

什么是JavaScript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能.(好吧,概念什么最讨厌了) 动态: 在运行时确定数据类型.变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型. 弱类: 计算时可以不同类型之间对使用者透明地隐式转换,即使类型不正确,也能通过隐式转换来得到正确的类型. 原型: 新对象继承对象(作为模版),将自身的属性共享给新对象,模版对象称为原型.这样新对象实例化后不但可以享有自己创建时和运行时定义的属性,

深入理解JavaScript系列(18):面向对象编程之ECMAScript实现_基础知识

介绍 本章是关于ECMAScript面向对象实现的第2篇,第1篇我们讨论的是概论和CEMAScript的比较,如果你还没有读第1篇,在进行本章之前,我强烈建议你先读一下第1篇,因为本篇实在太长了(35页). 英文原文:http://dmitrysoshnikov.com/ecmascript/chapter-7-2-oop-ecmascript-implementation/ 注:由于篇幅太长了,难免出现错误,时刻保持修正中. 在概论里,我们延伸到了ECMAScript,现在,当我们知道它OOP

JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)_javascript技巧

2.9 运算符 2.9.1.一元运算符 一元运算符只有一个参数,即要操作的对象或值. 1.delete:删除对以前定义的对象属性或方法的引用,但此运算符不能删除开发者未定义的属性和方法.示例: 复制代码 代码如下: var o=new Object; o.name="Nicholas"; o.show=function(){ return "test"; }; console.log(o.name); //outpus Nicholas console.log(o.

JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句_javascript技巧

if语句 语法: 复制代码 代码如下: if(condition){ statement1; } else{ statement2; } 迭代语句 1.do-while语句 语法: 复制代码 代码如下: do{ statement }while(expression); 2.while语句 语法: 复制代码 代码如下: while(expression){ statement } 3.for语句 语法: 复制代码 代码如下: for(initialization;expression;post-

JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)_javascript技巧

2.9.5.加性运算符 加性运算符(即加号和减号)通常是最简单的运算符,不过在ECMAScript中,每个加性运算符都有大量的特殊行为. 1.加法运算符: 复制代码 代码如下: var iResult=1+2; console.log(iResult);//outputs 3 特殊性: 某个运算数是NaN,结果为NaN Infinity加Infinity,结果为Infinity -Infinity加-Infinity,结果为-Infinity Infinity加-Infinity,结果为NaN

JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换_javascript技巧

2.7 类型转换 1.转换成字符串 所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字.示例: 复制代码 代码如下: var iNum1=10; var iNum2=10.0; var iNum3=10; alert(iNum1.toString()); //outpus "10" al

[译] ES6+ 中的 JavaScript 工厂函数(第八部分)

本文讲的是[译] ES6+ 中的 JavaScript 工厂函数(第八部分), 原文地址:JavaScript Factory Functions with ES6+ 原文作者:Eric Elliott 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:lampui 校对者:IridescentMia.sunui Smoke Art Cubes to Smoke - MattysFlicks - (CC BY 2.0) 注意:这是"软件编写"系