前言

经常听别人说JavaScriptECMAScriptES6TypeScript,但是你知道他们是什么关系吗?

JavaScript

要了解JavaScript,我们首先要回顾一下JavaScript的诞生——在上个世纪的1995年,当时的网景公司正凭借其Navigator浏览器成为Web时代开启时最著名的第一代互联网公司

由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言。你没看错,这哥们只用了10天时间。

为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推广,但事实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系。

ECMAScript

因为网景开发了JavaScript,一年后微软又模仿JavaScript开发了JScript,为了让JavaScript成为全球标准,几个公司联合ECMA(European Computer Manufacturers Association)组织定制了JavaScript语言的标准,被称为ECMAScript标准。

所以简单说来就是,

ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实现

Q:那为什么不直接把JavaScript定为标准呢?因为JavaScript是网景的注册商标。

A:因为大多数时候,我们还是用JavaScript这个词。如果你遇到ECMAScript这个词,简单把它理解为等于JavaScript就行了。

ECMAScript 5 (ES5)

ECMAScript 的第五版修订,于 2009 年完成标准化。这个规范在所有现代浏览器中都相当完全的实现了。

ECMAScript 6 (ES6) / ECMAScript 2015 (ES2015)

ES6=ES2015,这是ECMAScript 的第六版修订,于 2015 年完成标准化。这个标准被部分实现于大部分现代浏览器。

下面是10个ES6最佳特性,排名不分先后:

  • 函数参数默认值
  • 模板字符串
  • 多行字符串
  • 解构赋值
  • 对象属性简写
  • 箭头函数
  • Promise
  • Let与Const
  • 模块化

TypeScript

那么TypeScript 又是哪来的妖精?TypeScript 是 Microsoft 开发和维护的一种面向对象的编程语言。它是 JavaScript 的超集,包含了 JavaScript 的所有元素,可以载入 JavaScript 代码运行,并扩展了 JavaScript 的语法。

TypeScript 具有以下特点:

  • TypeScript 是 Microsoft 推出的开源语言,使用 Apache 授权协议
  • TypeScript 增加了静态类型、类、模块、接口和类型注解
  • TypeScript 可用于开发大型的应用
  • TypeScript 易学易于理解

更多推荐

JavaScript与ECMAScript、ES6、TypeScript的关系