第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期

第1207期TypeScript 实践分享

第879期使用 Babel 和 Gulp 搭建 ES6 开发环境

共享 tsconfig.json 和相对路径

第1660期 Diff ECMAScript® 2019

第1006期ECMAScript 6 新特性