JS 进阶地图
与 javascript-core 分工;路线图深度节点。
25 分钟
JS 进阶地图
学完 javascript-core 后,本 track 补全 JavaScript 路线图中的深度节点:相等性、this、事件循环、原型链与内存管理。后续可衔接 nodejs-essentials 与 react-essentials。
学习目标
- 区分 javascript-core 与本 track 的分工
- 对照 /roadmaps/javascript 中尚未覆盖的节点
- 建立「语言机制 → 框架行为」的映射直觉
与 javascript-core 的分工
| 主题 | javascript-core | javascript-advanced(本 track) |
|---|---|---|
| 变量 | let/const 入门 | 提升、TDZ、strict mode |
| 函数 | 箭头函数、闭包入门 | this、bind/call/apply、IIFE |
| 异步 | Promise、async/await | 事件循环、微/宏任务、XHR |
| 对象 | 字面量、属性访问 | 原型链、class、Symbol |
| 模块 | import/export 基础 | CJS vs ESM、tree-shaking 影响 |
核心课教「怎么写」;进阶课教「为什么这样运行」。
路线图深度节点
javascript 路线图
├── 基础语法 ← javascript-core
├── 相等与类型转换 ← jsa-operators
├── this 与闭包 ← jsa-functions
├── 事件循环 ← jsa-async
├── 原型与继承 ← jsa-objects
├── 集合与 JSON ← jsa-collections
├── 内存与 GC ← jsa-memory
└── 调试与性能 ← jsa-devtools
为什么框架开发者需要这些
React 组件里的 useEffect 依赖数组、Node 里 process.nextTick 的优先级,背后都是事件循环与闭包。不理解机制,调试时容易「改对了但不知道为什么」。
// 经典面试题:输出顺序取决于宏任务/微任务
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
console.log('4');
// 1 → 4 → 3 → 2
学习路径建议
- 按 order 1–12 顺序学习(每课约 25–40 分钟)
- 每课后在浏览器 Console 或 Node REPL 验证示例
- 最后一课 jsa-practice 用 Promise + fetch 重构回调代码
练习
- 打开 /roadmaps/javascript,标出本 track 覆盖的节点