课程目录
1-1 [ECMAScript6基础] ECMAScript6简介 (06:29)
1-2 [ECMAScript6基础] 运行ECMAScript6 (15:53)
1-3 [ECMAScript6基础] ES6转换到ES5(Babel) (14:31)
1-4 [ECMAScript6基础] ES6转换到ES5(Traceur) (06:50)
2-1 [let和const关键字] let的作用域 (21:31)
2-2 [let和const关键字] let的定义顺序 (05:24)
2-3 [let和const关键字] 暂时性死区 (06:48)
2-4 [let和const关键字] 不允许变量重复声明 (05:49)
2-5 [let和const关键字] 块级作用域 (23:42)
2-6 [let和const关键字] const关键字 (13:27)
2-7 [let和const关键字] 对象常量 (23:51)
2-8 [let和const关键字] 全局变量 (02:03)
3-1 [变量的解构(Destructuring)赋值] 数组的解构赋值(1) (08:58)
3-2 [变量的解构(Destructuring)赋值] 数组的解构赋值(2) (08:51)
3-3 [变量的解构(Destructuring)赋值] 数组的解构赋值(3) (16:33)
3-4 [变量的解构(Destructuring)赋值] 对象的解构赋值(1) (10:37)
3-5 [变量的解构(Destructuring)赋值] 对象的解构赋值(2) (17:41)
3-6 [变量的解构(Destructuring)赋值] 字符串、数值和布尔的解构赋值(3) (08:26)
3-7 [变量的解构(Destructuring)赋值] 函数参数的解构赋值 (09:28)
3-8 [变量的解构(Destructuring)赋值] 圆括号的使用方法 (10:02)
3-9 [变量的解构(Destructuring)赋值] 变量解构的应用(1) (05:13)
3-10 [变量的解构(Destructuring)赋值] 变量解构的应用(2) (12:12)
4-1 [字符串的扩展] 字符的Unicode表示法 (28:11)
4-2 [字符串的扩展] String.fromCodePoint方法 (03:28)
4-3 [字符串的扩展] 字符串的遍历器接口 (03:26)
4-4 [字符串的扩展] 在字符串中查找子字符串 (06:54)
4-5 [字符串的扩展] 将原字符串重复n次 (10:09)
4-6 [字符串的扩展] 模板字符串 (14:02)
4-7 [字符串的扩展] 标签模板 (19:37)
4-8 [字符串的扩展] String.raw方法 (05:20)
5-1 [数值的扩展] ES6中二进制和八进制表示法 (07:36)
5-2 [数值的扩展] Number.isFinite和Number.isNaN (15:05)
5-3 [数值的扩展] parseInt、parseFloat和isInteger (07:18)
5-4 [数值的扩展] 判断两个浮点数是否相等的Number.EPSILON (07:15)
5-5 [数值的扩展] Math对象扩展1(trunc、sign、cbrt) (12:43)
5-6 [数值的扩展] Math对象扩展2(clz32、imul、fround、hypot) (19:12)
5-7 [数值的扩展] Math对象扩展3(对数方法) (05:10)
6-1 [数组扩展] Array.from方法(将两类对象转换为数组) (19:28)
6-2 [数组扩展] Array.of方法(将一组值转换为数组) (05:24)
6-3 [数组扩展] copyWithin方法(迁移数组元素) (05:57)
6-4 [数组扩展] find_findIndex方法 (10:44)
6-5 [数组扩展] fill方法 (04:31)
6-6 [数组扩展] entries和keys方法 (03:23)
6-7 [数组扩展] 数组的空位 (11:09)
7-1 [函数扩展] 函数参数的默认值 (13:59)
7-2 [函数扩展] 函数参数默认值与解构赋值默认值相结合 (19:36)
7-3 [函数扩展] 函数参数默认值的位置与调用方式 (05:09)
7-4 [函数扩展] 函数的length属性 (05:37)
7-5 [函数扩展] 函数参数的作用域 (04:53)
7-6 [函数扩展] 函数参数默认值的应用 (03:12)
7-7 [函数扩展] rest参数 (14:24)
7-8 [函数扩展] 扩展运算符 (06:35)
7-9 [函数扩展] 扩展运算符的应用 (25:22)
7-10 [函数扩展] name属性 (05:23)
7-11 [函数扩展] 箭头函数 (16:10)
8-1 [对象扩展] 属性和方法的简洁表示法 (12:15)
8-2 [对象扩展] 属性名表达式 (16:43)
8-3 [对象扩展] Object.is方法 (04:37)
8-4 [对象扩展] Object.assign方法 (15:53)
8-5 [对象扩展] Object.assign方法的应用(克隆对象) (13:29)
9-1 [Symbol(解决属性名冲突问题)] Symbol基础 (14:23)
9-2 [Symbol(解决属性名冲突问题)] Symbol用作对象属性名 (15:08)
9-3 [Symbol(解决属性名冲突问题)] Symbol用作对象属性名 (12:13)
9-4 [Symbol(解决属性名冲突问题)] Symbol.for-Symbol.keyFor函数 (08:53)
10-1 [拦截对象操作的Proxy(代理)和Reflect对象] Proxy基础 (15:41)
10-2 [拦截对象操作的Proxy(代理)和Reflect对象] 拦截属性的读取操作:get (18:48)
10-3 [拦截对象操作的Proxy(代理)和Reflect对象] 拦截属性的写入操作:set (20:58)
10-4 [拦截对象操作的Proxy(代理)和Reflect对象] 拦截函数的调用、call和apply:apply (08:33)
10-5 [拦截对象操作的Proxy(代理)和Reflect对象] 隐藏属性操作:has (09:37)
10-6 [拦截对象操作的Proxy(代理)和Reflect对象] 拦截new指令:construct (05:22)
10-7 [拦截对象操作的Proxy(代理)和Reflect对象] 拦截delete操作:deleteProperty (03:20)
10-8 [拦截对象操作的Proxy(代理)和Reflect对象] 拦截defineProperty操作:defineProperty (05:34)
10-9 [拦截对象操作的Proxy(代理)和Reflect对象] Reflect对象:defineProperty (04:12)
11-1 [Generator函数] 基础知识 (14:12)
11-2 [Generator函数] yield语句 (13:12)
11-3 [Generator函数] next方法的参数 (07:57)
11-4 [Generator函数] for_of循环(用于自动遍历Generator函数返回的遍历器) (11:01)
11-5 [Generator函数] throw方法 (18:03)
11-6 [Generator函数] return方法 (13:25)
11-7 [Generator函数] yield*语句与递归Generator函数 (15:16)
11-8 [Generator函数] 将Generator函数作为对象属性 (04:05)
11-9 [Generator函数] Generator函数的this (10:32)
11-10 [Generator函数] Generator函数与状态机 (05:34)
12-1 [Promise对象] 基础知识 (15:55)
12-2 [Promise对象] then方法 (04:47)
12-3 [Promise对象] catch方法 (04:47)
13-1 [异步操作与async函数] 通过Generator函数与Promise对象封装异步任务 (18:13)
13-2 [异步操作与async函数] async函数 (10:35)
14-1 [类(Class)] 基础知识 (28:37)
14-2 [类(Class)] 通过Class表达式定义类 (09:46)
14-3 [类(Class)] 类的继承 (09:05)
14-4 [类(Class)] 原生构造函数的继承 (11:24)
14-5 [类(Class)] 类的getter和setter方法 (05:34)
14-6 [类(Class)] Generator方法 (06:14)
14-7 [类(Class)] 类的静态方法和静态属性 (08:38)
14-8 [类(Class)] new.target属性 (07:46)
14-9 [类(Class)] 抽象类 (09:31)