Set
ES6 提供了新的数据结构 Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了 iterator 接口,所以可以使用『扩展运算符』和『for…of…』进行遍历,集合的属性和方法:
(1) size 返回集合的元素个数
(2) add 增加一个新元素,返回当前集合
(3) delete 删除元素,返回 boolean 值
(4) has 检测集合中是否包含某个元素,返回 boolean 值
(5) clear 清空集合,返回 undefined
1 | //声明一个 set |
Set 实践
1 | let arr = [1, 2, 3, 4, 5, 4, 3, 2, 1]; |
Map
ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 也实现了 iterator 接口,所以可以使用『扩展运算符』和『for…of…』进行遍历。Map 的属性和方法:
(1) size 返回 Map 的元素个数
(2) set 增加一个新元素,返回当前 Map
(3) get 返回键名对象的键值
(4) has 检测 Map 中是否包含某个元素,返回 boolean 值
(5) clear 清空集合,返回 undefined
1 | //声明 Map |
class 类
ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。通过 class 关键字,可以定义类。基本上,ES6 的 class 可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。
知识点:
(1) class 声明类
(2) constructor 定义构造函数初始化
(3) extends 继承父类
(4) super 调用父级构造方法
(5) static 定义静态方法和属性
(6) 父类方法可以重写
1 | //父类 |