《用得上的前端知识》系列 - 你我都很忙,能用100字说清楚,绝不写万字长文
基本概念
- ECMAScript:是一种由 Ecma 国际(前身为欧洲计算机制造商协会)在标准 ECMA-262 中定义的脚本语言规范。这种语言在万维网上应用广泛,它往往被称为 JavaScript 或 JScript,但实际上后两者是 ECMA-262 标准的实现和扩展;
- ES5:ECMAScript 的第 5 版,于 2009 年标准化,也泛指上一代语言标准(2015年以前发布的版本);
- ES6:ECMAScript 的第 6 版,于 2015 年标准化,也泛指 5.1 版本(2011年发布)以后的 JavaScript 标准,目前涵盖了ES2015(ES6)、ES2016(ES7)、ES2017、ES2018、ES2019、ES2020;
- ES2015:是指在 2015 年发布的 ECMAScript 第 6 版。
注:ES2015 可以理解为 ES5 和 ES6 的时间分界线。
版本变化
- ES5,2009年发布,扩展了Object、Array、Function等的功能;
- ES6,2015年发布,新增:类、模块化、箭头函数、函数参数默认值、模版字符串、解构赋值、延展操作符、对象属性简写(对象扩展,还有计算属性)、Promise、let、const(块级作用域)、新数据结构Set、Map、Symbol 等特性;
- ES7,2016年发布,新增:Array.prototype.includes()、指数操作符;
- ES8,2017年发布,新增:async/await、Object.values()、Object.entries()、String padding、函数参数列表结尾允许逗号、Object.getOwnPropertyDescriptors() 等。
ES6 相对于 ES5 的新增特性
- 数据结构:Set、Map、Symbol;
- 类和继承(class、extends);
- 模块化,使用 export 导出、import 导入;
- 箭头函数;
- 模版字符串(如:let name =
name is ${first} ${last}
); - 解构赋值;
- 延展(展开)操作符和剩余语法;
- 对象属性简写;
- Promise;
- let、const(块级作用域)。