目标:
- Symbol类型
- Map 和 Set
- for ... of
- 模块化语法 import / export
- js错误处理机制
symbol类型:
- Es5中包含5种原始类型:字符串、数字、布尔值、null、undefined
- Es6:引入了第六种原始类型:symbol
- 作用:保证每个属性的名字都是独一无二的,这样就从根本上防止了属性名冲突
- 语法:let symbol=Symbol("属性的作用描述")
Map 和 Set:
- Map 和 Set 是 ES6 新增的两个数据类型都是属于内置构造函数
- MAP:作用是一个数据集合,是一个很类似于 对象 的数据集合,
Map存储的数据也是key/value形式, key可以是任意类型
- 语法:const m = new Map() || let map = new Map([ ['name','jack'], [100,18] ])
4.map属性和方法:
- size : 用来获取该数据类型中数据的个数
- delete : 用来删除该数据集合中的某一个数据
- set : 用来向该数据集合中添加数据使用
- get : 用来获取该数据集合中的某一个数据
- clear : 清除数据集合中的所有数据
- has : 用来判断数据集合中是否存在某一个数据
set属性:
作用
- 存储无序数据的集合(里面的元素不能重复)可以用于数组去重
- 创建
- let set = new Set() 空集合
- let set = new Set([1,2,{name:'jack'}, function(){},'hello'])
-
属性和方法
size:用来获取该数据结构中有多少数据
add:用来向该数据类型中追加数据
delete:是删除该数据结构中的某一个数据
-
clear:清空数据结构中的所有数据 -
forEach : 用来遍历 Set 数据结构的方法
-
获取 Set 结构里面的数据需要借助一个 ... 展开运算符
for ... of
- for-of 可以遍历数组,字符串和Map, 不能遍历对象
模块化语法 import / export
- 前端模块化开发中:一个js文件就是一个模块,在js文件模块中定义的数据是私有的, 可以向外部暴露数据和方法,其它js文件模块可以引入暴露的方法数据进行使用
js错误处理机制
- 错误类型:
-
SyntaxError 语法错误
ReferenceError 引用错误
TypeError 类型错误
RangeError 值超出有效范围时发生的错误
- 自己捕获异常进行处理
try{
// 可能发生异常的代码
}catch(error){
console.log(error)
}