Content
15 Lessons • 0 Quizzes • 0 Challenges
入门
- 1
本课程如何帮助你
- 2
本课程涵盖哪些内容?
JavaScript 常见陷阱
- 1
注意换行的位置
- 2
使用 === 代替 ==
- 3
声明前使用
- 4
领先一步
- 5
代码检查
- 6
JavaScript 常见陷阱测验
- 7
练习 1:让我们投票
- 8
解决方案回顾:让我们投票
- 9
练习 2:修复代码
- 10
解决方案回顾:修复代码
- 11
练习 3:代码检查
- 12
解决方案回顾:代码检查
变量和常量
- 1
摒弃 var
- 2
使用 let
- 3
可变性的危险
- 4
const
- 5
使用 let 和 const 编写更安全的代码
- 6
变量与常量测验
- 7
练习 1:让我们获取输出
- 8
解决方案回顾:让我们获取输出
处理函数参数
- 1
参数的力量与风险
- 2
使用剩余参数
- 3
展开运算符
- 4
展开运算符的用途
- 5
参数的默认值定义
- 6
多个默认参数
- 7
表达式作为默认值
- 8
函数参数测验
- 9
练习 1:计算税款
- 10
解决方案回顾:计算税款
- 11
练习 2:购买物品
- 12
解决方案回顾:购买物品
- 13
练习 3:下单
- 14
解决方案回顾:下单
迭代器与符号
- 1
增强for循环的便利性
- 2
符号——一种新的原始类型
- 3
全局注册表与符号
- 4
特殊知名符号
- 5
使用自定义迭代器
- 6
实现迭代器
- 7
使用 Yield 去除噪声
- 8
使用生成器去除噪声
- 9
组合生成器
- 10
创建无限迭代器
- 11
迭代器与符号测验
- 12
练习 1:斐波那契数列
- 13
解题回顾:斐波那契数列
- 14
练习 2:斐波那契数列索引
- 15
解题回顾:斐波那契数列索引
箭头函数与函数式编程风格
- 1
从匿名函数到箭头函数
- 2
多行箭头函数
- 3
使用剩余参数和默认参数
- 4
匿名函数与箭头函数
- 5
词法作用域的 this 和 arguments
- 6
箭头函数的局限性:匿名且不能作为构造函数
- 7
局限性:不支持原型和 new.target 属性
- 8
局限性:生成器、异常和对象字面量
- 9
何时使用箭头函数
- 10
箭头函数与函数式编程风格
- 11
关于箭头函数与函数式编程风格的测验
- 12
练习 1:重构代码
- 13
解决方案回顾:重构代码
- 14
练习 2:函数式编程风格
- 15
解决方案回顾:函数式编程风格
字面量和解构
- 1
使用模板字符串
- 2
多行字符串
- 3
标签模板
- 4
增强的对象字面量
- 5
数组解构:提取和忽略值
- 6
数组解构:默认值和参数值
- 7
对象解构:提取对象属性
- 8
对象解构:默认值与参数值
- 9
对象解构:深层解构与命名冲突
- 10
对象解构:展开运算符的作用
- 11
关于字面量和解构的测验
- 12
练习 1:标签模板
- 13
解决方案回顾:标签模板
- 14
练习 2:解构
- 15
解法回顾:解构
使用类
- 1
创建一个类
- 2
实现构造函数
- 3
定义方法
- 4
定义计算属性
- 5
创建属性
- 6
定义类成员
- 7
类表达式
- 8
新内置类:集合(Set)
- 9
新的内置类:Map
- 10
新内置类:WeakSet 和 WeakMap
- 11
类的使用测验
- 12
练习 1:类的实现
- 13
解决方案回顾:类的实现
- 14
练习 2:映射(Maps)
- 15
解决方案回顾:映射
使用继承
- 1
理解原型继承
- 2
从类继承:子类与重写方法
- 3
继承类:extends 关键字与原型链
- 4
从类继承:默认构造函数与旧式类
- 5
管理实例类型
- 6
管理实例类型规则
- 7
使用 species 管理实例类型
- 8
关于继承的测验
- 9
练习 1:集合
- 10
解决方案回顾:集合
- 11
练习 2:实例类型
- 12
解决方案回顾:实例类型
使用模块
- 1
简介
- 2
创建一个模块
- 3
从模块中导出
- 4
默认导出
- 5
从另一个模块重新导出
- 6
从模块导入
- 7
模块使用测验
信守承诺
- 1
简介
- 2
不必感谢回调地狱
- 3
Promise 来解救
- 4
创建 Promise 的方式
- 5
链式调用 Promise
- 6
处理多个 Promise:竞争 Promises
- 7
处理多个 Promise:收集所有 Promise
- 8
异步和等待
- 9
关于信守承诺的测验
- 10
练习 1:收集所有 Promise
- 11
解决方案回顾:收集所有 Promise
- 12
练习 2:Async 和 Await
- 13
解决方案回顾:异步与等待
探索元编程
- 1
简介
- 2
元编程的力量与风险
- 3
动态访问
- 4
成员注入:实例
- 5
成员注入:类的原型和属性
- 6
成员注入:注入多个属性
- 7
关于探索元编程的测验
- 8
练习 1:注入方法
- 9
解决方案回顾:注入方法
- 10
练习 2:注入多个属性
- 11
解决方案回顾:注入多个属性
深入探讨元编程
- 1
简介
- 2
Reflect 的用途:调用函数和访问原型
- 3
Reflect 的用途:探索属性
- 4
使用 Proxy 进行元编程
- 5
使用陷阱
- 6
使用可撤销代理租借对象
- 7
使用代理拦截函数调用
- 8
使用代理合成成员
- 9
直接在实例上合成成员
- 10
使用装饰器
- 11
检查装饰后的类
- 12
创建自定义装饰器
- 13
关于深入探究元编程的测验
- 14
练习 1:可撤销代理
- 15
解决方案回顾:可撤销代理
- 16
练习 2:代理
- 17
解决方案回顾:代理
结论
- 1
总结!
附录
- 1
如何运行现代 JavaScript
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:Anonymous User