课程介绍

JavaScript 进阶教程

学习 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
  • 小结