1、ES6与JavaScript之间的关系
ES6是JavaScript的一个版本:JavaScript是基于ECMAScript规范实现的编程语言,而ES6(ECMAScript 2015)是该规范的一个具体版本。
2、ES6的基础功能
(1)let和const
- let用于声明变量,let声明的变量只在let命令所在的代码块内有效
- const用于声明常量,const声明一个只读的常量,一旦声明,常量的值就不能改变。
(2)模板字符串和箭头函数
- ()=>{}:使用箭头声明函数,不用再书写function关键字
- this:非箭头函数中的this指向函数的调用者;箭头函数中的this指向定义时所在的对象;全局作用域中this指向window
(3)解构赋值
- []=[](数组的解构赋值):let [a,b,c]=[1,2,3]; 可以从数组中提取值,按照对应位置,为左侧变量赋值;
- {}={}(对象的解构赋值):let{ a, b} = { b:'bbb',a:'aaa'};按照对应的属性名,给左侧的变量赋值,等号左边的两个变量的书写顺序,与等号右边的两个同名属性的顺序可以不一致。
- [] = "" ,{} = ""(字符串的解构赋值):在解构前,字符串被转换成了一个类似数组的对象 (不常用,了解即可)1、以数组的形式解构,const [a, b, c, d, e] = 'hello';2、以对象的形式解构,let { 0: a } = 'hello'
(4)剩余参数,展开运算符
- 剩余参数:...arg:将一个不定数量的参数表示为一个数组
- ...:将内容展开,属于浅拷贝
(5)数据结构
- Set:是一系列无序、没有重复值的集合
- Map:是键值对的集合,但是"键"的范围不限于字符串,各种类型的值(包括对象)都可以当做键
(6)遍历器
- Iterator:为各种不同的数据结构提供统一的访问机制
- for...of:遍历成员, for...of循环可以使用的范围包括数组、Set和Map结构、某些类似数组的对象(比如arguments对象、DOM NodeList对象)