javaScript ES6

2020年7月16日 作者 张舫

什么是ES6

ES的全称是ECMAScript,它是由ECMA国际标准化组织,制定的一项脚本的标准化规范,ES6实际上是一个泛指,泛指ES2015及后续的版本

为什么使用ES6

每一次标准的诞生都意味着语言的完善,功能的加强,javaScript语言本身也有这一些令人不满意的地方

  • 变量提升增加了程序运行时的不可预测性
  • 语法过于松散,实现相同的功能,不同的人可能会写出不同的代码

ES6的新增语法

let关键字

let声明变量只在所处于的块级有效,在大括号中,使用let关键字的声明的变量才具有块级作用域

let 金典面试题

变量i是全局变量,函数指向时输出的都是全局作用域下的i值

指向的是局部变量

const关键字

  • 具有块级作用域
  • 声明常量时必须赋值   //missing initializer in const declaration
  • 常量就是值(内存地址)不能变化的量 ,复杂数据类可以这样不改变内存地址的方式修改里面的值 “常量名[‘name’] = 111 ;常量名.name = 222 “

let const var 的区别

 

解构赋值

数组解构

对象解构

箭头函数

箭头函数不绑定this关键字,箭头函数中的this,指向函数定义位置中的上下文this

箭头函数面试题

在对象中使用this , this 指向window

…变量名  剩余参数  展开运算语法

  • 如果 …变量名  放到形参的位置,或者等号左边 代表接受剩余参数
  • 如果 …变量名  参数是一个数组,没有放到等号左边或形参的位置,代表展开数组,

剩余参数

利用剩余参数解构

展开运算语法

使用展开运算符合并数组

使用展开运算符将 伪数组 转换为 数组 ,这样就可以使用数组中的方法

模板字符串

还可以在里面执行函数

Set数据结构

ES6提供了新的数据结构Set.它类似与数组,但是成员的值都是唯一的,没用重复的值

set去除数组中重复数据

set数据结构常用方法