一、JavaScript 内功修炼
01、学习目标(Learning objectives)
- 对 JavaScript 的数据类型、原型链、作用域、闭包等内容进行深入理解
- 彻底弄懂 JavaScript 异步任务处理原理
- 熟悉 ES6+ 的新特性、模块化等
- 掌握 JavaScript 的常用设计模式和代码优化技巧
- 理解 JavaScript 中内存管理、垃圾回收机制、相关算法
- 掌握 TypeScript 基本语法、高级特性、内置标准库等
- 掌握 函数式编程范式,理解函数式思想,为深入源码学习做出铺垫
- 掌握 JavaScript 语言层面性能优化的 10 大优化细节
02、this、闭包与作用域
- this 指针详解
- 默认绑定、显示绑定、隐式绑定
- 存储空间、执行上下文
- 作用域详解
- 闭包的概念
- 闭包的使用场景
03、原型继承与面向对象编程思想
- JavaScript 原型与原型链
- JavaScript 原型继承
- JavaScript 原型实现继承(原型继承、构造函数继承、组合继承)
- JavaScript new 创建对象原理详解
04、ECMAScript 新特性
- 变量定义新形式
- class 语法
- 模版字符串
- 解构语法
- 箭头函数的原理与使用场景
- 迭代器
- Promise、async&await
- BigInt
05、事件机制
- 事件绑定
- 事件冒泡与事件捕获
- 事件委托原理与实现
- 事件处理常见问题与方案详情
- 事件回调机制
06、异步编程
- 回掉地狱
- 细数异步场景与处理策略
- 从 callback 到 Promise
- 详解 Promise A+ 规范
- 手写 Promise
- 从 Promise 到 tj/co
- async 与 await 用法与原理详解
07、模块化详解
- CommonJs 模块化规范及发展
- 模块化打包工具工程化使用简介
- AMD、CMD、systemJS 模块化规范介绍及使用
- React 模块化思想初探
- Vue 模块化思想初探
08、JavaScript 性能及代码优化
- 垃圾回收机制
- 内存管理
- 书写规范与约束(Eslint)
- 大厂优化案例
09、函数式编程
- 函数式编程的本质
- 函数式编程的好处(引用透明、无副作用)
- 高阶函数、柯里化、闭包
- 惰性求值及其应用场景
10、设计模式详解
- 设计模式简介
- 设计模式分类
- 常用设计模式概念详解
- 常用设计模式实战
11、TypeScript 基础与进阶
- TypeScript vs JavaScript vs Flow
- TypeScript 基础语法
- TypeScript 泛型与类型体操
- TypeScript 注解与反射
- TypeScript 实战
二、前端工程化实战
01、学习目标(Learning objectives)
- 熟悉前端工程化相关工具的使用,如 Vite、Webpack、Babel 等
- 掌握 Webpack Loader 与 Plugin 原理,深入理解 tapable 在插件化系统中的作用
- 掌握 Webpack 实现原理,从零到一实现一个简版 Webpack
- 理解编译器原理,及在前端项目中的应用
- 掌握前端脚手架设计方案,实现团队提效
- 方案到落地,从零设计一个脚手架工具
- 掌握前端自动化构建流程,包括代码检查、测试、打包、部署等
- 熟悉前端性能优化相关知识,包括代码压缩、懒加载、CDN等