课程目录
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)





