ES6 新特性 MOC
ES6 / ECMAScript 2015 核心新特性的主题地图,按表达能力、模块化、异步、数据结构和底层机制组织。
#type / moc
#status / evergreen
#resource / javascript
#resource / ecmascript
[!info] related notes
- 上层入口: javascript-moc, ecmascript
- 主题地图: ECMAScript MOC
- 基础桥接: ECMAScript语法基础, JavaScript 函数总览
- 相关关系: ECMAScript期约与异步函数, ecmascript-module-pattern
ES6 新特性 MOC
ES6 不是“加了几个语法糖”那么简单,而是把 JavaScript 往工程化方向推了一大步:更清晰的作用域、更强的表达能力、更统一的对象/模块/异步模型,以及更底层的扩展能力。
从哪里开始
- var / let / const 区别
- 箭头函数
- rest 参数和 spread 运算符
- 解构赋值
- 模板字符串
- 默认参数
- js-class
- ES6模块导入导出方式
- Promise
- ECMAScript迭代器和生成器
- ECMAScript集合引用类型
- Symbol
- ECMAScript代理与反射
核心分组
1. 变量与作用域
- var / let / const 区别 - 解决块级作用域、TDZ 和重复声明问题
2. 表达能力
- 箭头函数 - 简化函数表达,并固定词法
this - rest 参数和 spread 运算符 - 统一参数收集与展开
- 解构赋值 - 从数组/对象中按模式提取值
- 模板字符串 - 插值、多行和标签模板
- 默认参数 - 让函数签名更清晰
3. 对象与面向对象
- js-class -
class只是更现代的语法层 - js继承in-ES6-ES5 - 继承写法升级,但底层仍回到原型链
- ECMAScript代理与反射 - ES6 的元编程能力
- Symbol - 唯一标识与内置协议扩展点
4. 模块与异步
- ES6模块导入导出方式 - 原生模块化入口
- Promise - 表示未来结果的对象
- Await-Async - Promise 的表达层,作为 ES6+ 延伸阅读
- ECMAScript期约与异步函数 - 把 Promise 和 async/await 放回同一条线
5. 数据结构与遍历
- ECMAScript集合引用类型 - Object / Array / Map / Set / WeakMap / WeakSet
- Map - 通用键值对容器
- WeakMap - 对象弱引用键值对容器
- Map vs WeakMap - 设计目标与使用场景对比
- Set - 唯一值集合
- WeakSet - 对象弱引用集合
- Set vs WeakSet - 设计目标与使用场景对比
- Iterable - 可迭代对象
- Iterator - 迭代器协议
- Generator - 生成器函数
- Iterable、Iterator、Generator 关系 - 三者关系与消费方式总览
- ECMAScript迭代器和生成器 - Iterable / Iterator / Generator 协议
一句话抓手
let/const解决变量边界class和import/export解决工程组织Promise和async/await解决异步表达Map/Set/WeakMap/WeakSet/Symbol/Proxy提供更强的数据结构和语言能力Map/WeakMap解决键值对与对象元数据问题Set/WeakSet解决唯一集合与对象标记问题
学习顺序
- 先补
let/const、箭头函数、解构、模板字符串、默认参数 - 再看
class、import/export - 再看
Promise、Iterator/Generator - 最后看
Map/Set、WeakMap/WeakSet、Symbol、Proxy/Reflect