02-ES6详解

概述

img

ECMAScript的快速发展:

img

编程语言JavaScript是ECMAScript的实现和扩展 。ECMAScript是由ECMA(一个类似W3C的标准组织)参与进行标准化的语法规范。ECMAScript定义了:

  • [语言语法] – 语法解析规则、关键字、语句、声明、运算符等。

  • [类型]– 布尔型、数字、字符串、对象等。

  • [原型和继承]

  • 内建对象和函数的

  • [标准库] – [JSON]、[Math]、[数组方法]、[对象自省方法]等。

​ ECMAScript标准不定义HTML或CSS的相关功能,也不定义类似DOM(文档对象模型)的[Web API],这些都在独立的标准中进行定义。ECMAScript涵盖了各种环境中JS的使用场景,无论是浏览器环境还是类似[node.js]的非浏览器环境。

​ ECMAScript标准的历史版本分别是1、2、3、5。

​ 那么为什么没有第4版?其实,在过去确实曾计划发布提出巨量新特性的第4版,但最终却因想法太过激进而惨遭废除(这一版标准中曾经有一个极其复杂的支持泛型和类型推断的内建静态类型系统)。

​ ES4饱受争议,当标准委员会最终停止开发ES4时,其成员同意发布一个相对谦和的ES5版本,随后继续制定一些更具实质性的新特性。这一明确的协商协议最终命名为“Harmony”,因此,ES5规范中包含这样两句话

​ ECMAScript是一门充满活力的语言,并在不断进化中。未来版本的规范中将持续进行重要的技术改进2009年发布的改进版本ES5,引入了[Object.create()]、[Object.defineProperty()]、[getters]和[setters]、[严格模式]以及[JSON]对象。

ES6: 是JavaScript语言的下一代标准,2015年6月正式发布。它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

语法

let和const命令

image-20210918140827424
  • var的变量穿透问题

image-20210918141334786

通过使用let进行解决

image-20210918141426018

​ 在实际开发和生产中,如果是小程序,uniapp或者一些脚手架中的,可以大胆的去使用let和const但是如果你是web开发。建议大家还是使用var,因为在一些低版本的浏览器还是不支持let和const。

模板字符串

以前: 我们都是使用 ‘’ 或者 “” 来把字符串套起来

现在: `` 【反引号】

img
image-20210918142242865

函数默认参数与箭头函数

函数默认参数

image-20210918142553044
image-20210918142652165

箭头函数

箭头函数简化函数的定义,可以让我们不用使用function关键字。箭头函数最直观的三个特点:

  1. 不需要function关键字来创建函数

  2. 省略return关键字

  3. 继承当前上下文的 this 关键字

image-20210918143324677

但是如果有逻辑体,就不能省略return,例如:

如果参数只有一个,括号也可以省略掉,例如:

image-20210918143747291

对象初始化简写

image-20210918144547069

对象结构

传播操作符

从对象中进行取值,取值的名字需要与对象中的名字一致;当对对象进行取值时,如果剩下还有值,可以通过...xxx进行获取,如...person2

image-20210918222721685

数组map和reduce方法使用

map

方法可以将原数组中的所有元素通过一个函数进行处理并放入到一个新数组中并返回该新数组。

reduce

reduce(function(),初始值(可选)) :

接收一个函数(必须)和一个初始值(可选),该函数接收两个参数:

  • 第一个参数是上一次reduce处理的结果

  • 第二个参数是数组中要处理的下一个元素 reduce() 会从左到右依次把数组中的元素用reduce处理,并把处理的结果作为下次reduce的第一个参数。如果是 第一次,会把前两个元素作为计算参数,或者把用户指定的初始值作为起始参数

最后更新于

这有帮助吗?