ES6知识总结

简介

ECMAScript(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标是使 JavaScript 可以编写复杂的大型应用程序,成为企业级开发语言。

let 和 const 命令

let 命令

ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在代码块内有效。

特点如下:

  • 存在块级作用域

    上面代码在代码块中,分别用 letvar 声明了两个变量。然后在代码块之外打印这两个变量,结果let声明的变量出错,var声明的变量返回了正确的值。这说明let声明的变量只在它所在的代码块内有效。

  • 不存在变量提升

  • 不允许重复声明

const 命令

const声明一个只读的常量。一旦声明,常量的值就不能改变。

特点如下:

  • 声明时必须赋初始值

  • 标识符一般大写

  • 不允许重复声明

  • 不允许修改值

  • 块级作用域

变量的解构赋值

ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。

这里主要讲解数组的结构赋值

上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值。

本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。

字符串的扩展

模板字符串

模版字符串是增强版的字符串,用反引号(`)标识。它可以当做普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。

如果需要在模板字符串中使用反引号,则前面要用反斜杠转义

模板字符串中嵌入变量,需要将变量名写在${}之中

字符串的新增方法

正则的扩展

数值的扩展

函数的扩展

箭头函数

ES6 允许使用“箭头”(=>)定义函数。不会更改 this 的指向,用来指定回调函数非常合适。

注意点

  1. 如果形参只有一个,则小括号可以省略
  2. 函数体如果只有一条语句,则花括号可以省略,函数的返回值为该条语句的执行结果
  3. 箭头函数 this 指向声明时所在作用域下 this 的值
  4. 箭头函数不能作为构造函数实例化
  5. 不能使用 arguments 参数

rest参数

用于获取函数的参数,用来代替arguments。适用于函数参数个数不定的场景

rest参数必须是最后一个形参

数组的扩展

spread扩展运算符

扩展运算符spread也是三个点...。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列,对数组进行解包。

Symbol

JS的第七种数据类型,是一种类似于字符串的数据类型。适用于唯一性的场景。

特点:

  1. Symbol的值是唯一的,用来解决命名冲突的问题
  2. Symbol值不能与其他数据进行运算
  3. Symbol定义的对象属性不能使用 for...in 循环遍历,但是可以使用 Relect.ownKeys 来获取对象的所有键名

对象的扩展

简化对象写法

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。

对象的新增方法

运算符的扩展

Symbol

Set 和 Map 数据结构

Proxy

Reflect

Promise对象

是异步编程的一种解决方案。语法上 Promise 是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。

特点:

  1. 对象的状态不受外界影响。
  2. 一旦状态改变,就不会再变,任何时候都可以得到这个结果。

用法:

参考文档

https://es6.ruanyifeng.com/

原创文章,作者:seabert,如若转载,请注明出处:https://bysjb.cn/es6.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注