JavaScript 知识地图 (MOC)
一、JavaScript 核心概念
1. 执行模型
- 执行上下文 - JavaScript 代码执行的环境
- 作用域 - 变量和函数的可访问范围
- 作用域链 - 变量查找的机制
- 词法环境 - 存储标识符与变量映射的结构
- outer-作用域链核心 - 词法环境的外部引用
- 变量环境 - 特殊的词法环境
- this绑定 - 函数执行上下文中的this值
- 调用栈(Call Stack) - 函数调用的栈结构
2. 编译原理
- 编译过程概述 - JavaScript 编译过程
- 词法分析 - 代码转换为词法单元
- 词法分析-FSM - 有限自动机
- 词法分析-DFA - 确定性有限自动机
- 即时编译JIT - 运行时编译优化
- 垃圾回收 - 内存管理机制
3. 基础语法
- 变量声明 - var、let、const
- 变量提升 - 声明提升机制
- 对象与原型 - 对象创建与原型继承
- ES6 类语法 - 类的定义与继承
- 函数 - 函数定义与调用
- 箭头函数 - ES6箭头函数特性
- 内置对象 - JavaScript内置对象
- WEB API - 浏览器提供的API
4. 异步编程体系
- 异步编程概述 - 异步编程模型
- Promise - Promise异步处理
- 事件循环 - JavaScript运行时事件循环机制
- 消息队列 - 事件循环中的任务队列
- 宏任务和微任务 - 任务优先级机制
- async/await - 基于Promise的语法糖
- 生成器(Generator)- 可暂停的函数
5. 内存管理
二、TypeScript
- TypeScript 基础概念 - TypeScript入门
- TypeScript interface 详解 - 接口详解
- TypeScript 中 Interface 的管理规范 - 接口管理最佳实践
- TypeScript 函数返回类型隐式推断及解决方案 - 类型推断问题
三、实战技巧
1. 函数式编程
- JavaScript 函数组合(Compose) - 函数组合技术
2. 数组操作
- 数组 — 交集、差集、并集、补集 - 集合操作
- 数组 — 分割成若干个指定长度的二维数组 - 数组分割
- 数组 — 删除数组指定元素 - 元素删除
- 数组 — 快速初始化数组 - 数组初始化
- 数组 — 快速清空 - 数组清空
- 数组 — 求和、最大值、最小值 - 数组计算
- 数组 — 过滤空值 - 空值过滤
3. 树结构处理
- JavaScript 树结构处理方法 - 树结构基础操作
- JavaScript 扁平化数据转树形结构 - 数据转换
- 树结构扁平化方法 - 树转扁平数组
- 查询该节点的所有父级节点 - 父节点查询
- 树结构对象 Key 替换函数 - 属性名替换
- 根据对象的type进行分组合并成tree - 分组合并
- 父子节点联动 - 节点联动
- 递归实现给每个对象打层级 - 层级标记
四、JavaScript 学习路线
- JavaScript Roadmap - JavaScript学习路线图
五、知识脉络
- 「静态语法」与「运行时机制」知识脉络 - JavaScript核心知识脉络