.Map
ES6 提供了Map数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map也实现了iterator接口,所以可以使用「扩展运算符』和「 for....of...』进行遍历。Map的属性和方法:
- size返回Map的元素个数
- set增加一个新元素,返回当前Map
- get返回键名对象的键值
- has检测Map中是否包含某个元素,返回boolean值5) clear清空集合,返回undefined
-
Promise是Es6引入的异步编程的新解决方案。语法上Promise是一个构造函数,用来封装异步操作并可以获取其成功或失败的结果。
(1)Promise构造函数:Promise(excutor){}
(2)Promise.prototype.then 方法
(3)Promise.prototype.catch 方法
const p = new Promise(function(resolve, reject) { setTimeout(function() { // let data = '数据库中的用户数据'; // resolve(data); let err = '数据读取失败'; reject(err); }, 1000); }); //调用Promise对象的then方法 p.then(function(value) { console.log(value); }, function(reason) { console.log(reason); })
Symbol基本便用
ES6引入了一种新的原始数据类型symbol,表示独一无二的值。它是JavaScript语言的第七种数据类型,是一种类似于字符串的数据类型。
Symbol特点
- Symbol 的值是唯一的,用来解决命名冲突的问题
- Symbol值不能与其他数据进行运算
- .Symbol定义的对象属性不能使用for...in循环遍历,但是可以使用Reflect.ownKeys来获取对象的所有键名