ES6新特性:
Symbol类型:
ES5中包含5种原始类型:字符串、数字、布尔值、null和undefined。
ES6引入了第6种基本数据类型——Symbol
用法: 直接使用Symbol()创建新的symbol类型,并用一个可选的字符串作为其描述.
注意,Symbol函数的参数只是表示对当前 Symbol 值的描述,因此相同参数的Symbol函数的返回值是不相等的。
类型检测
let symbol = Symbol("test symbol"); console.log(typeof symbol); // "symbol"
共享体系 在不同的代码中共享同一个Symbol
Symbol.for()
Map 和 Set:
Map 和 Set 是 ES6 新增的两个数据类型
都是属于内置构造函数
使用 new 的方式来实例化使用
Set:
const s = new Set()
console.log(s)
就是一个数据集合 我们可以在 new 的时候直接向内部添加数据
常用方法和属性
size : 属性 用来获取该数据结构中有多少数据的
add : 用来向该数据类型中追加数据
delete : 是删除该数据结构中的某一个数据
clear : 清空数据结构中的所有数据
forEach : 用来遍历 Set 数据结构的方法
获取 Set 结构里面的数据需要借助一个 ... 展开运算符
Set 数据类型特点
示例-数组去重
Map:
是一个数据集合,是一个很类似于 对象 的数据集合
值 = 值 的数据类型
常用方法和属性
size : 用来获取该数据类型中数据的个数
delete : 用来删除该数据集合中的某一个数据
set : 用来向该数据集合中添加数据使用
get : 用来获取该数据集合中的某一个数据
clear : 清除数据集合中的所有数据
has : 用来判断数据集合中是否存在某一个数据
示例
常规方式
然后通过obj[11]来进行获取对应的value值,是不是就更方便了,但是对象的key不可以是数字的,只能是变量或者字符串; 这时候就需要用到new Map()了,new Map创建的对象,里面的key可以是任何数据(如: {12: ‘水泥’});
for ... of:
示例
模块化语法 import / export:
模块化的理解
ES6模块化
ES6模块化语法
用到export default命令,为模块指定默认输出
js错误处理机制:
错误类型
逻辑错误
运行时错误
常用错误对象:
SyntaxError 对象
SyntaxError对象是解析代码时发生的语法错误。
ReferenceError 对象
ReferenceError对象是引用一个不存在的变量时发生的错误。
console.log(a)
Uncaught ReferenceError: a is not defined
TypeError 对象
TypeError对象是变量或参数不是预期类型时发生的错误。
Uncaught TypeError: Cannot read propertyRangeError 对象
手动生成错误对象:
throw 语句:
throw语句的作用是手动中断程序执行,抛出一个错误。
对于 JavaScript 引擎来说,遇到throw语句,程序就中止了。引擎会接收到throw抛出的信息,
try…catch 结构:
一旦发生错误,程序就中止执行了。JavaScript 提供了try...catch结构,允许对错误进行处理,选择是否往下执行。
finally 代码块:
try...catch结构允许在最后添加一个finally代码块,表示不管是否出现错误,都必需在最后运行的语句。