好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ES6+ 简介

ES6 简介

图片 来源于网络,版权归原作者所有

1. 前言

本节我们将什么是 ES5 ?什么是 ES6 ?为什么要学习 ES6 ?以及 ES6 与 ES5 之 间的 关系。本教程会通过在 ES5 中使用的知识点,对应的引出在 ES6 的知识点,深入浅出讲解 ES6 为什么会被引入?以及它背后的思想。

2. 什么是 ES5

ECMAScript 5 是 2009 年发布的 ECMAScript 的标准,由于第四版 添加 的 内容 过于复杂,便被废弃了。ES5 主要新增了严格模式,还有对数组和对象新增了一些 方法 ,扩展了 JS 底层编写的能力。如:Vue 中的数据侦测就是使用 ES5 中的 Object.defineProperty 方法 来实现的。

3. 什么是 ES6

ES6 是 ECMAScript 6 的简称,是于 2015 年 6 月正式发布的 JavaScript 语言的标准,正式名为 ECMAScript 2015(简称 ES2015)。它的目标是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。同时 ES6 增加 了很多 API 极大地拓展了 JavaScript 的 功能 ,使他更像一门编程语言,可以承担更多的事。

ES6 因为是 2015 年发布的,也称作 ES2015,对应的版本是 ES6,后面的命名方式以此类推。ES6 从起草到正式发布,经过了 一个 很漫长的时间。从 2000 年 ES4 开始酝酿的时候就已经开始了,由于 ES4 添加 的 API 过多,导致这个版本没有通过,后来 ES5 就直接发布了。但是 ES4 提出的很多 内容 也被 ES6 所继承,因此,ES6 制定的起点其实是 2000 年。

ES5 到 ES6 的演变其实经过了漫长的时间,而且 ES6 也算是 ECMAScript 的 一个 分水岭,它做了很多工作,修补了 ES5 之前 JavaScrept 存在的各种缺陷,并 添加 了很多新的 功能 ,尽量能使得 JavaScript 成为 一个 更高级的,能承担更大型项目的语言。

Tips: 在后面的 文章 中,我们所说的 ES5 统称 ES6 之前的所有 ECMAScript 的特性,ES6 则是 ES6 之后的版本 内容 。从 2015 年发布的 ECMAScript6 之后每年 ECMAScript 都会正式发布 一个 版本 ECMAScript。所以很多特性不能直接在浏览器中使用,需要借助 babel 这样的工具,把 ES6 的语法转换成 ES5,这样浏览器才能识别。

4. 为什么学习 ES6

ES5 不能满足前端的复杂度,无论是 jQuery 这样的库,还是像 Vue 和 React 这样的框架,都在使用一些降级的方案来 解决 现有的问题,所以 ES6 的引入就是为了 解决 ES5 以前存在的各种问题。另外,ES6 是 一个 大换血的版本,也是 一个 分水岭,标志着 JavaScript 向着更高的方向发展。ES6 也是对 ES5 的增强和 升级 。

主流的浏览器都已经全面 支持 ES6; 行业内较新的前端框架都已经全面使用 ES6 的语法; 微信小程序 , uni-app 等都是基于 ES6 的语法; 从就业出发,现在公司基本都在使用新的语法, 增加 必备技能获得更好的offer。

以上都是学习 ES6 的场景,也是大势所趋。

5. 版本说明

从 2015 年 6 月正式发布的 ES2015(简称 ES6) 语言的标准后,每年 6 月都会对 ECMAScript 进行版本迭代,本系列 文章 也是对 ES6 及以后更新的 内容 做系统性的讲解,目前的版本已经到了 ES2019(简称 ES10 )。

添加 语言的新特性, 增加 类和模块化的语法,其他特性 包括 迭代器,Python 风格的 生成 器和 生成 器表达式,箭头 函数 ,二进制数据,新增内置数据结构(Map), 增加 了集合概念(Set),异步的 解决方 案(promise,async/await),使用 reflect 和 proxy 取代 Object 的部分 功能 更加细化了语言层面的部分。

另外,还 增加 了异步循环, 生成 器,新的正则表达式特性和 rest/spread 等语法。

6. 学习基础

本教程是 JavaScript 的延伸和进阶课程,所以学习本教程需要一些前置知识,主要有以下几个要求:

了解 JavaScript 的基本语法; 有过一定的项目经验; 对 ECMAScript 的规范有一定的了解。

7. 小结

本节主要介绍了ES5、ES6 的 内容 ,需要注意以下几点:

JavaScript 不算是一门纯正的编程语言,它是 一个 集合,是由 ECMAScript、DOM 和 BOM 组合而成的,ECMAScript 才是 JavaScript 在 Web 编程中的核心。

ES6 是 一个 分水岭,提供了很多超前的特性,不能直接在浏览器中使用,需要借助转换器,把 ES6 语法转换成 ES5 或者更低的版本才能在浏览器中运行。

查看更多关于ES6+ 简介的详细内容...

  阅读:61次

上一篇

下一篇

第1节:ES6+ 简介    第2节:ES6 环境配置    第3节:ES6+ let    第4节:ES6+ const    第5节:ES6+ 展开语法    第6节:ES6+ 剩余参数    第7节:ES6+ 解构赋值    第8节:ES6+ 模版字符串    第9节:ES6+ 箭头函数    第10节:ES6+ 数值扩展    第11节:ES6+ isFinite()&isNaN()    第12节:ES6+ Number 对象的方法    第13节:ES6+ Math 对象的扩展    第14节:ES6+ includes()    第15节:ES6+ 字符串的扩展    第16节:ES6+ startsWith()    第17节:ES6+ endsWith()    第18节:ES6+ repeat()    第19节:ES6+ padStart()    第20节:ES6+ padEnd()    第21节:ES6+ trim()    第22节:ES6+ Array.from()    第23节:ES6+ of()    第24节:ES6+ find()和findIndex()    第25节:ES6+ copyWithin()    第26节:ES6+ fill()    第27节:ES6+ isArray()    第28节:ES6+ 对象的扩展    第29节:ES6+ flat()    第30节:ES6+ 可选链操作符    第31节:ES6+ Object.is()    第32节:ES6+ Object.assign()    第33节:ES6+ Object.keys()    第34节:ES6+ Object.values()    第35节:ES6+ Object.entries()    第36节:ES6+ 数据结构扩展    第37节:ES6+ Set    第38节:ES6+ WeakSet    第39节:ES6+ Map    第40节:ES6+ WeakMap    第41节:ES6+ Symbol    第42节:ES6+ for...of    第43节:ES6+ 迭代协议    第44节:ES6+ 实现一个简版的 Promise    第45节:ES6+ Promise 基础    第46节:ES6+ Promise 进阶    第47节:ES6+ Generator 基础    第48节:ES6+ Generator 函数应用    第49节:ES6+ async/await    第50节:ES6+ Class 前置知识    第51节:ES6+ Class    第52节:ES6+ Proxy    第53节:ES6+ Reflect(一)    第54节:ES6+ Reflect(二)    第55节:ES6+ 模块化(一)    第56节:ES6+ 模块化(二)    第57节:ES6实战1-实现Vue3 reactive 源码    第58节:ES6实战2-实现 Vue3 effect 源码    第59节:ES6 实战2-封装请求    第60节:ES6+ 实战3-代码整洁之道    第61节:ES6 Map原理分析    第62节:ES6module语法加载importexport    第63节:ES6的循环与可迭代对象示例详解