学习 JavaScript 的核心要点,本课程涵盖从面向对象编程基础到高级异步技术的所有内容。
课程作者:Steven Garcia
课程完整代码仓库(GitHub):https://github.com/stevenGarciaDev/JavaScript-Pro-Finished-Course
目录
第 1 部分:高级主题简介
- 介绍
- 为什么这门课适合你
- 课程材料
- 搭建开发环境
- 社交媒体
第 2 部分:对象
- 什么是面向对象编程(OOP)
- 面向对象的四大支柱
- 对象字面量
- 工厂函数
- 构造函数
- constructor 属性
- 函数也是对象
- 值类型与引用类型
- 添加或移除属性
- 枚举属性
- 抽象
- 私有属性与方法
- Getter 与 Setter
- 小结
第 3 部分:原型
- 继承
- 原型与原型继承
- 多层继承
- 属性描述符
- 构造函数的 prototype
- 原型成员 vs 实例成员
- 遍历实例与原型成员
- 不要扩展内置对象
- 小结
第 4 部分:原型继承进阶
- 创建你自己的原型继承
- 重置 constructor
- 调用父类构造函数
- 中间函数继承
- 方法重写
- 多态
- 什么时候该使用继承
- 混入(Mixins)
- 小结
第 5 部分:ES6 类
- ES6 类
- 提升(Hoisting)
- 静态方法
- this 关键字
- 使用 Symbol 的私有成员
- 使用 WeakMap 的私有成员
- Getter 与 Setter
- 继承
- 方法重写
- 小结
第 6 部分:ES6 工具链
- 模块
- CommonJS 模块
- ES6 模块
- ES6 工具链
- Babel
- Webpack
- 小结
第 7 部分:Node 模块系统
- 什么是 Node
- Node 架构
- Node 如何工作
- Node 模块系统介绍
- 全局对象
- 模块
- 创建一个模块
- 加载模块
- 模块包装函数
- Path 模块
- OS 模块
- 文件系统模块
- Events 模块
- 事件参数
- 扩展 EventEmitter
- HTTP 模块
- 小结
第 8 部分:Node 包管理器(NPM)
- NPM 介绍
- package.json
- 安装 Node 包
- 使用一个包
- 包依赖
- NPM 包与源码管理
- 语义化版本号
- 列出已安装包
- 查看包的仓库信息
- 安装特定版本
- 更新本地包
- 开发依赖
- 卸载包
- 使用全局包
- 发布一个包
- 更新已发布的包
第 9 部分:异步 JavaScript
- 同步 vs 异步代码
- 处理异步代码的模式
- 回调函数
- 回调地狱
- 具名函数
- Promise
- 用 Promise 替代回调
- 创建已决议的 Promise
- 并行运行 Promise
- async / await
- 小结