ES6、ECMAScript、Javascript简介

ECMA是什么

ES6(ECMAScript 6),也被称为ES2015,是JavaScript的第六个版本。它于2015年发布,并从2015年开始,版本命名使用了年号,但是ES6版本具有很强的代表,并在现代JavaScript开发中扮演了重要的角色,也是最常被提及的。

ECMAScript是ECMA发布的JavaScript语言规范,Ecma国际(Ecma International) 1是一家国际性会员制度的信息和电信标准组织。1994年之前,名为欧洲计算机制造商协会(European Computer Manufacturers Association)。因为计算机的国际化,组织的标准牵涉到很多其他国家,因此组织决定改名表明其国际性。现名称已不属于首字母缩略字。Ecma国际负责的标准包括:

  • List item
  • CD-ROM格式(之后被国际标准化组织批准为ISO 9660)
  • C#语言规范
  • C++/CLI语言规范 通用语言基础结构(CLI)
  • ECMAScript语言规范(JavaScript为基础)
  • Eiffel语言
  • 电子产品环境化设计要素
  • Universal 3D标准
  • OOXML

ECMAScript 与 JavaScript 的关系

  • ECMAScript 简称 ES。ES 是一个脚本语言。注意,是 ES 也是脚本语言。
  • ES 通常可以看作是 JavaScript 的标准化规范。
  • ES 只提供了最基本的语法。如:怎样定义变量和函数。
  • JS 实现了 ES 的语言标准。JS 还在此基础上新增了一些拓展,使得我们可以在浏览器可以操作 DOM/BOM,在 Node 环境中可以读写文件等操作。
  • 因为 JS 是在 ES 基础上的拓展,所有 JS 是 ES 的扩展语言。
  • JS 在浏览器环境中的组成关系:ES + Web Apis (BOM + DOM 等)。
  • JS 在 Node 环境中的组成关系:ES + Node Apis(fs + net 等)。

ECMAScript版本变化

后续针对版本新特性单独做一篇梳理和实践2

名称版本发行时间新特性
ECMAScript 2019(ES2023)142023从头到尾搜索数组:findLast() 、findLastIndex();Hashbang 语法;通过副本更改数组:toReversed()、toSorted()、toSpliced()、with();Symbol 作为 WeakMap 的键
ECMAScript 2019(ES2022)ES132022年模块顶层作用域支持 await 表达式;新增私有类元素、静态块;in 操作符支持私有类元素;正则新增 d 标志和其对应的 hasIndices 属性,提供了获取捕获组开始索引和结束索引的方法;Error 实例增加 cause 属性,可携带更多错误信息;Strings、Arrays、TypedArrays 新增 at 方法,支持关联访问;Object.hasOwn 代替 Object.prototype.hasOwnProperty,判断对象是否含有属性。
ECMAScript 2019(ES2021)ES122021引入了一些新的语言特性,如逻辑赋值运算符和String.prototype.replaceAll()方法;改进了数字类型的操作和Promise对象的处理。
ECMAScript 2019(ES2020)ES112020新的语言特性,如可选链操作符和动态导入;改进了字符串操作和Promise对象的处理
ECMAScript 2019(ES2019)ES102019年6月Array.prototype.flat()方法和String.prototype.trimStart()方法;改进了try-catch语句和Array.prototype.sort()方法的稳定性
ECMAScript 2018(ES2018)ES92018年6月异步迭代器和正则表达式命名捕获组;改进了Promise.prototype.finally()方法和正则表达式的性能
ECMAScript 2017(ES2017)ES82017年6月对象属性的定义顺序和String.prototype.padStart()方法;改进了异步函数和共享内存并发模型
ECMAScript 2016(ES2016)ES72016年6月指数运算符和Array.prototype.includes()方法;改进了Array.prototype.includes()方法,使其更易于使用
ECMAScript 2015(ES2015)ES62015年6月是一个重大的版本更新。它引入了许多新的语言特性,如箭头函数、类、模块化、解构赋值和迭代器;改进了字符串操作、Promise对象和生成器函数
ECMAScript 5.1(ES5.1)5.12011年6月
ECMAScript 5(ES5)52009年12月严格模式、数组迭代方法和函数绑定;改进了对象属性的定义和访问方式,以及JSON的支持
ECMAScript 4(ES4)4
ECMAScript 3(ES3)3
ECMAScript 2(ES2)2
ECMAScript 1(ES1)1

ES2015(ES6)重要:34

  • ES 的版本更迭从 ES5 跨向 ES6 这个阶段发生了巨变,中间间隔了 6 年之久(不谈 5.1
  • 6 年里,刚好是 Web 界快速发展的几年,ES6 一经发布,带来的更新内容特别多,因此算作一个新阶段的起始点。
  • ES6 发布时的版本应该是 ECMAScript 6,但从 2015 这年开始 ES 的版本不再使用版本号命名了,而是使用年号,因此 ES6 又叫 ESCMAScript 2015。
  • 从 2015 年开始,ES 的更新频率加速,达到每年一更,且规律是每年的 6 月时更新。

  1. ECMA百度百科 ↩︎

  2. 版本新特性 ↩︎

  3. ECMAScript官网 ↩︎

  4. 一文详解ECMAScript ↩︎

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值