ECMAScript6历史-前端开发+ECMAScript+基础语法+入门教程

ECMAScript6详解

ECMAScript 历史

我们首先来看 ECMA 是什么。ECMA ,读音类似"埃科妈",是欧洲计算机制造商协会 (European Computer Manufacturers Association)的简称,是一家国际性会员制度的信息和电信标准组织。1994年之后,由于组织的标准牵涉到很多其他国家,为了体现其国际性,更名为 Ecma 国际(Ecma International),因此Ecma 就不再是首字母缩略字了。
1995 年,著名的网景公司(Netscape)的 Brendan Eich 开发了一种脚本语言,最初命名为 Mocha,后来改名为LiveScript,最后为了蹭当时火热的 Java 热度重命名为了 JavaScript。
了解了 Ecma 国际和 JavaScript,就方便了解 ECMAScript 了,ECMAScript 是一种由 Ecma 国际在标准ECMA-262 中定义的 脚本语言 规范。这种语言在往往被称为 JavaScript 或 JScript ,但实际上 JavaScript和 JScript 是 ECMA-262 标准的实现和扩展。

神秘的 ECMA-262

上文提到了第一个神秘代码 ECMA-262 ,ECMA-262 到底是什么呢?原来 Ecma 国际的标准,都会以Ecma-Number 命名,ECMA-262 就是 ECMA 262 号标准,具体就是指 ECMAScript遵照的标准。1996 年 11 月,网景公司将 JavaScript 提交给 Ecma 国际进行标准化。ECMA-262 的第一个版本于 1997 年 6 月被 Ecma 国际采纳。
尽管 JavaScript 和 JScript 与 ECMAScript 兼容,但包含超出 ECMAScript 的功能。
我们如何查看最新最全的 Ecma 标准呢,可以查看 Ecma 国际官网的 Standards 。截止到 2021 年 4 月,最新的 Ecma 标准已经到了 ECMA-423

1.ECMAScript6 简介

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。

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

ES6 引入了许多新的语法特性和 API,例如:

  • 类(class)和继承(inheritance)
  • 模块(module)和导入(import)
  • 箭头函数(arrow function)和默认参数(default parameter)
  • 解构赋值(destructuring assignment)和展开运算符(spread operator)
  • Promise 和异步函数(async function)
  • 生成器(generator)和迭代器(iterator)
  • 代理(proxy)和反射(reflect)
  • 新的数据类型和数据结构,如 Symbol、Set、Map、WeakSet、WeakMap 等

1.1 ECMAScript 和 JavaScript 的关系

  • 要讲清楚这个问题,需要回顾历史。
  • 1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织ECMA,希望这种语言能够成为国际标准。
  • ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是 1.0 版。
  • 因此,ECMAScript (宪法)和 JavaScript(律师) 的关系是,前者是后者的规格,后者是前者的一种实现。

1.2 ES6 与 ECMAScript 2015 的关系

  • 2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。因此,ES6 这个词的原意,就是指 JavaScript语言的下一个版本。

  • ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017 等等

结语

授人以鱼,不如授人以渔,希望通过本文追根溯源,带领同学们走进 ECMAScript 的世界,ES 神秘代码不再神秘,ES 新特性不再彷徨。

每个版本最新的特性请参考 版本新特性

ECMA官网请参考 ECMA-GitHub官网

语法学习请参考 ECMA中文教程

相关推荐
快乐的哈士奇9 分钟前
【Next.js实战①】Gmail API 按柜号检索邮件:OAuth 双 Cookie 与搜索 Fallback
开发语言·javascript·ecmascript
云水一下15 分钟前
Vue.js从零到精通系列(五):全局状态管理——Pinia 核心与实践
前端·javascript·vue.js
kmblack11 小时前
javascript计算年龄
开发语言·javascript·ecmascript
Dick5071 小时前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人
黄敬峰2 小时前
从 XMLHttpRequest 到 JSON 模拟:打通前后端通信的任督二脉
javascript
weixin_471383032 小时前
Taro-03-页面生命周期
前端·javascript·taro
Asize2 小时前
数组数据结构底层:从灵活到陷阱
前端·javascript·算法
十九画生2 小时前
Ajax 入门:用 XHR 理解前后端异步请求
前端·javascript·后端
源图客3 小时前
境外电商 - 龙虾智能体-综合选品推荐报告
开发语言·javascript·ecmascript