ECMA6 学习记录
ECMA6
-
字符串操作
1.codePointAt //获取字符的编码值 解决chartCodeAt识别中文时候的问题
2.formCodePoint // 从编码值转换为文字
3.startsWith endsWith includes //字符串查找
4.String.raw() 输出整个字符串 不会编译 -
对象操作
1.Object.is //比较值是否相等 比===好用
2.Object.assign // 合并对象
3.Object.getOwnPropertyDescriptor(obj, key) 获取obj对象key参数的自有属性
4.Object.getOwnPropertyNames //获取obj的所有Key
5.[…a] = [1,2] //可以实现浅拷贝 -
Array 的新属性
1.Array.of
2.Array.from
3.Array.find
4.Array.findIndex
5.Array.fill
6.Array.copyWithin -
Set 对象
1.var a = new Set() //创建
2.a.size //元素数量
3.a.add() //添加值(自动过滤重复值)
4.a.has(‘test’) // 是否包含某个值
5.a.delete() //删除元素
6.a.clear() // 清空 -
Map 对象
1.var a = new Map() //创建
2.a.size //元素数量
3.a.set() //添加值(自动过滤重复值)
4.a.has(‘test’) // 是否包含某个值
5.a.delete() //删除元素
6.a.clear() // 清空 -
什么是一等公民
-
数组缓冲区
作用: 更加合理的利用内存
方法一:
var buffer = new ArrayBuffer(2)
var view = new DataView(buffer)
view.setInt8(0, 9) // 存入值 9( 0是偏移量 )
view.getInt8(0) // 读取偏移量为0的值
方法二:
var int = new Int8Array([1, 2])
console.log( int.length ) // 2
console.log( int[0] ) // 1
- Promise
1.promise对象有三种状态:pending, fulfilled, rejected。
2.thenable对象: 所有含有then方法并且接收resolve和reject参数的对象就叫做thenable对象。包含promise。 - 宏观任务队列 和 微观任务队列
1.宏观任务队列:ajax, setTimeout,setInterval,dom操作等
2.微观任务队列: promise。
3.执行顺序
微观(遍历) -> 宏观(1个) -> 微观(遍历) -> 宏观(1个) -> 微观(遍历) -> ...