1. ES6
-
let const
-
解构赋值
- 数组、对象、字符串
-
String 扩展:增加了 Unicode 表示字符串的写法
-
遍历器可以使用
for...of循环 -
模板字符串
-
String 新增方法
- String.prototype.includes()
- String.prototype.startsWith()
- String.prototype.endsWith()
- String.prototype.repeat()
-
Number 新增方法
- Number.isNaN()
- Number.parseInt()
-
Symbol 数据类型:表示独一无二的值,可以保证不会与其他属性名产生冲突。
-
Function 扩展
- 默认参数
- 参数长度:Function.length
- name 属性:Function.name
- rest 参数 (...)
- 扩展运算符(...)
- 箭头函数
-
Class
-
Set、WeakSet
-
Map、WeakMap
-
键的类型:
Map的键可以是任何类型(包括基本类型)。WeakMap的键必须是对象。
-
键的引用:
Map中的键是强引用,意味着只要Map中存在这个键,这个键对象就不会被垃圾回收。WeakMap中的键是弱引用,如果没有其他地方引用这个对象,它会被垃圾回收。
-
迭代和大小:
Map可以通过size属性获取键值对的数量,并且支持迭代。WeakMap无法获取键值对的数量,也不支持迭代。
-
使用场景:
Map适用于需要频繁操作键值对并需要保持键值对顺序的情况。WeakMap适用于需要使用对象作为键且希望避免键对象被长时间占用内存的情况。
-
-
Proxy
-
Reflect
-
Promise
-
Generator
具体参考文章: