第1558期ES5 to ESNext — 自 2015 以来 JavaScript 新增的所有新特性
Posted 前端早读课
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1558期ES5 to ESNext — 自 2015 以来 JavaScript 新增的所有新特性相关的知识,希望对你有一定的参考价值。
前言
哇,一文知全部。今日早读文章由@icepy授权分享。
正文从这开始~~
这篇文章的出发点是为了帮助前端开发者串联 ES6前后的 javascript 知识,并且可以快速了解 JavaScript 语言的最新进展。
JavaScript 在当下处于特权地位,因为它是唯一可以在浏览器中运行的语言,并且是被高度集成和优化过的。
JavaScript 在未来有着极好的发展空间,跟上它的变化不会比现在更加的困难。我的目标是让你能够快速且全面的了解这门语言可以使用的新内容。
目录
ECMAScript 简介
ES2015
let 和 const
箭头函数
类
默认参数
模板字符串
解构赋值
增强的对象字面量
For-of 循环
Promises
模块
String 新方法
Object 新方法
展开运算符
Set
Map
Generators
ES2016
Array.prototype.includes()
求幂运算符
ES2017
字符串填充
Object.values()
Object.entries()
Object.getOwnPropertyDescriptors()
尾逗号
共享内存 and 原子操作
ES2018
Rest/Spread Properties
Asynchronous iteration
Promise.prototype.finally()
正则表达式改进
ESNext
Array.prototype.{flat,flatMap}
try/catch 可选的参数绑定
Object.fromEntries()
String.prototype.{trimStart,trimEnd}
Symbol.prototype.description
JSON improvements
Well-formed JSON.stringify()
Function.prototype.toString()
ECMAScript 简介
每当阅读 JavaScript 相关的文章时,我都会经常遇到如下术语: ES3, ES5, ES6, ES7, ES8, ES2015, ES2016, ES2017, ECMAScript 2017, ECMAScript 2016, ECMAScript 2015 等等,那么它们是指代的是什么?
它们都是指代一个名为 ECMAScript 的标准。
JavaScript 就是基于这个标准实现的,ECMAScript 经常缩写为 ES。
除了 JavaScript 以外,其它基于 ECMAScript 实现语言包括:
ActionScript ( Flash 脚本语言),由于 Adobe 将于 2020 年末停止对 Flash 的支持而逐渐失去热度。
JScript (微软开发的脚本语言),在第一次浏览器大战最激烈的时期,JavaScript 只被Netscape所支持,微软必须为 Internet Explorer 构建自己的脚本语言。
但是现在流传最广、影响最大的基于 ES 标准的语言实现无疑就是 JavaScript了
为啥要用这个奇怪的名字呢?Ecma International 是瑞士标准协会,负责制定国际标准。
JavaScript 被创建以后,经由 Netscape 和 Sun Microsystems 公司提交给欧洲计算机制造商协会进行标准化,被采纳的 ECMA-262 别名叫 ECMAScript。
This press release by Netscape and Sun Microsystems (the maker of Java) might help figure out the name choice, which might include legal and branding issues by Microsoft which was in the committee, according to Wikipedia.
IE9 之后微软的浏览器中就看不到对 JScript 这个命名的引用了,取而代之都统称为 JavaScript。
因此,截至201x,JavaScript 成为最流行的基于 ECMAScript 规范实现的语言。
ECMAScript 当前的版本。
目前的最新的 ECMAScript 版本是 ES2018。
于 2018 年 6 月发布。
TC39 是什么?
TC39(Technical Committee 39)是一个推动 JavaScript 发展的委员会。
TC39的成员包括各个主流浏览器厂商以及业务与浏览器紧密相连的公司,其中包括 Mozilla,Google ,Facebook,Apple,Microsoft,Intel,PayPal,SalesForce等。
每个标准版本提案都必须经过四个不同的阶段,这里有详细的解释。
ES Versions
令我费解的是 ES 版本的命名依据有时根据迭代的版本号,有时却根据年份来进行命名。而这个命名的不确定性又使得人们更加容易混淆 JS/ES 这个两个概念
以上是关于第1558期ES5 to ESNext — 自 2015 以来 JavaScript 新增的所有新特性的主要内容,如果未能解决你的问题,请参考以下文章
优化分类基于matlab灰狼算法优化最小二乘支持向量机分类(多输入多分类)含Matlab源码 1558期