如果你写过一两年 JavaScript,却总觉得代码里混着好几代写法——有人用 var,有人用 let;有人写 Promise 链,有人写 async/await;解构、扩展运算符、可选链混着用——那这门课解决的就是这个断层问题。它不是教你从零学 JavaScript,而是把 ES6 到 ES11 这几个版本里真正会进到日常工作代码里的语法特性,按版本、按类型梳理一遍,让你知道每个写法是什么时候进来的、解决什么问题、什么时候该用。

适合什么基础,不适合什么基础

这门课的前提是你已经能写基本的 JavaScript:知道函数、对象、数组怎么用,写过一些 DOM 操作或者简单的接口请求。如果你连闭包、this 指向都还没搞清楚,先补基础更划算,直接看语法特性会变成背 API。反过来,如果你已经熟练使用 async/await、解构、模块化,只是想查漏补缺,那可以跳过前面几块,重点看自己不熟的版本区间,比如 ES8 之后的异步迭代、ES10 的 flat/flatMap、ES11 的可选链和空值合并。

建议先看哪几块

按实用度排,优先级最高的是异步编程部分:Promise 的进阶用法、async/await 的错误处理、异步迭代器,这几块直接决定你写业务代码时顺不顺手。其次是对象和数组的扩展:解构默认值、扩展运算符做浅拷贝、Object 的新静态方法、数组的 includes、flat、flatMap,这些是日常写得最多、也最容易被写错的。第三块是字符串和数值的补充,比如模板字符串的标签函数、数值分隔符、BigInt 的适用边界。剩下的版本特性可以当字典用,遇到再翻。

学完能独立做什么

学完之后,你应该能独立做这几件事:把一个用 var 和回调写的老函数,重写成 let/const 加 async/await 的版本,并且知道为什么这么改;在写工具函数时,主动选择解构、扩展运算符、可选链来减少防御性判断;看懂别人代码里 ?.、??、Object.fromEntries 这类写法,不再靠猜;在配置构建工具或者读第三方库源码时,能分辨出哪些语法是目标环境支持的,哪些需要转译。这些都是排查问题和改代码时的实际能力,不是概念层面的知道。

资料怎么配合练习

配套资料里除了课程文档,还有几个可以跑的示例工程,分别对应不同侧重点:有的偏 Vue 场景下的语法使用,有的偏 webpack 配置里用到的语法,还有纯语法演示和一份思维导图。建议的用法是:先跟着课程过一遍语法点,然后打开示例工程,把里面用到的写法对照着改一遍——比如把 Promise 链改成 async/await,把普通函数改成解构参数,把多层判断改成可选链。思维导图适合学完之后自查,看哪个版本区间的特性自己还是空白。不要只跑一遍示例就结束,改代码的过程才是真正记住的地方。

课程目录

课程目录87 集
  • 📁 课程资料 课程资料文档.zip
  • [1.8 MB] imooc-es-vue-master.zip
  • [1.1 MB] imooc-es-webpack-master.zip
  • [48.8 KB] imooc-es-demo-master.zip
  • [89.0 KB] imooc-es-mind-master.zip
  • [1.9 MB] 📁 第5章 ECMAScript2016(ES7)之数组&数值拓展 第5章 ECMAScript2016(ES7)之数组&数值拓展必看.zip
  • [1.8 MB] 5-1 数组扩展:Array.prototype.includes().mp4
  • [32.7 MB] 5-2 数值扩展:幂运算符.mp4
  • [11.5 MB] 📁 第8章 ECMAScript2019(ES10)之效率再提升 第8章 ECMAScript2019(ES10)之效率再提升文档.png [493.5 KB] 8-3 数组扩展:Array.prototype.flat(),Array.prototype.flatMap().mp4
  • [19.8 MB] 8-6 JSON扩展:JSON superset,JSON.stringify()增强能力.mp4
  • [12.3 MB] 8-2 字符串扩展:String.prototype.trimStart() ,String.prototype.trimEnd()-.mp4
  • [18.1 MB] 8-7 Symbol扩展:Symbol.prototype.description.mp4
  • [8.9 MB] 8-1 对象扩展:Object.fromEntries().mp4
  • [31.8 MB] 8-4 修订Function.prototype.toString()-.mp4
  • [4.6 MB] 8-5 可选的Catch Binding.mp4
  • [14.5 MB] 📁 第7章 ECMAScript2018(ES9)之异步迭代&对象操作升级 第7章 ECMAScript2018(ES9)之异步迭代&对象操作升级文档.zip
  • [1.8 MB] 7-2 正则表达式扩展:dotAll,具名组匹配,后行断言.mp4
  • [68.4 MB] 7-3 对象扩展:Rest & Spread.mp4
  • [29.8 MB] 7-4 Promise扩展:Promise.prototype.finally().mp4
  • [14.3 MB] 7-1 异步迭代:for await of.mp4
  • [64.6 MB] 7-5 字符串扩展:放松模板字符串文字限制.mp4
  • [22.1 MB] 📁 第2章 ECMAScript2015(ES6)之必备知识 2-12 深拷贝与浅拷贝(下).mp4
  • [57.9 MB] 2-5 数组的各种遍历方式.mp4
  • [123.2 MB] 2-9 箭头函数.mp4
  • [82.2 MB] 2-6 数组的扩展.mp4
  • [113.7 MB] 2-8 扩展运算符与rest参数.mp4
  • [51.4 MB] 2-11 深拷贝与浅拷贝(上).mp4
  • [37.6 MB] 2-7 函数的参数.mp4
  • [90.8 MB] 2-2 新的声明方式let(下).mp4
  • [43.0 MB] 2-4 解构赋值.mp4
  • [82.1 MB] 2-1 新的声明方式let(上).mp4
  • [75.0 MB] 2-3 新的声明方式const.mp4
  • [44.7 MB] 2-10 对象的扩展.mp4
  • [68.6 MB] 📁 第12章 课程回顾 第12章 课程回顾文档.zip
  • [1.8 MB] 12-1 课程总结.mp4
  • [104.2 MB] 📁 第11章 Webpack构建环境 11-3 Webpack配置优化.mp4
  • [93.6 MB] 11-4 Babel配置.mp4
  • [62.8 MB] 11-1 Webpack核心概念.mp4
  • [22.8 MB] 11-2 Webpack配置.mp4
  • [116.0 MB] 📁 第1章 课程介绍&环境搭建 1-3 构建开发环境.mp4
  • [58.3 MB] 1-1 课程介绍.mp4
  • [73.0 MB] 1-2 Node安装与NPM源切换.mp4
  • [36.6 MB] 📁 第10章 ES新特性在Vue实战中的应用 10-6 更加优雅的异步操作.mp4
  • [76.7 MB] 10-3 使用Proxy代理用户信息.mp4
  • [112.4 MB] 10-7 组件按需加载.mp4
  • [41.9 MB] 10-4 图片上传逻辑与阿里云OSS使用.mp4
  • [162.5 MB] 10-5 异步操作多张图片上传云存储.mp4
  • [274.1 MB] 10-2 获取用户信息列表.mp4
  • [166.1 MB] 10-1 初始化环境.mp4
  • [90.6 MB] 📁 第6章 ECMAScript2017(ES8)之异步编程&对象拓展 6-4 字符串扩展:String.prototype.padStart(),String.prototype.padEnd().mp4
  • [22.7 MB] 6-5 尾逗号Trailing commas.mp4
  • [4.9 MB] 6-1 异步编程解决方案Async Await.mp4
  • [40.9 MB] 6-3 对象属性描述:Object.getOwnPropertyDescriptors().mp4
  • [20.4 MB] 6-2 对象扩展:Object.values(),Object.entries().mp4
  • [10.9 MB] 📁 第9章 ECMAScript2020(ES11)之新特性初探 9-2 动态导入:Dynamic import().mp4
  • [13.9 MB] 9-7 空值合并运算符:Nullish coalescing Operator.mp4
  • [7.2 MB] 9-6 可选链:Optional chaining.mp4
  • [14.6 MB] 9-5 全局对象:globalThis.mp4
  • [9.5 MB] 9-3 新的原始数据类型:BigInt.mp4
  • [10.4 MB] 9-4 Promise扩展:Promise.allSettled().mp4
  • [16.6 MB] 9-1 全局模式捕获:String.prototype.matchAll().mp4
  • [44.5 MB] 📁 第4章 ECMAScript2015(ES6)之异步编程与模块化 4-5 异步编程解决方案Promise(3).mp4
  • [82.2 MB] 4-8 异步编程解决方案Generator(上).mp4
  • [43.7 MB] 4-7 Promise的静态方法.mp4
  • [148.9 MB] 4-3 异步编程解决方案Promise(1).mp4
  • [39.2 MB] 4-1 异步操作必备知识.mp4
  • [54.7 MB] 4-9 异步编程解决方案Generator(下).mp4
  • [55.3 MB] 4-10 迭代器Iterator.mp4
  • [142.0 MB] 4-11 模块化Module.mp4
  • [79.8 MB] 4-2 Ajax原理与Callback Hell.mp4
  • [95.7 MB] 4-4 异步编程解决方案Promise(2).mp4
  • [88.7 MB] 4-6 异步编程解决方案Promise(4).mp4
  • [71.7 MB] 📁 第3章 ECMAScript2015(ES6)之新特性 3-1 面向过程与面向对象.mp4
  • [24.6 MB] 3-5 新的数据结构Set(上).mp4
  • [22.4 MB] 3-4 新的原始数据类型Symbol.mp4
  • [55.9 MB] 3-6 新的数据结构Set(下).mp4
  • [23.2 MB] 3-2 ES5中的类与继承.mp4
  • [58.1 MB] 3-13 代理Proxy(下).mp4
  • [93.5 MB] 3-10 正则表达式的扩展.mp4
  • [29.9 MB] 3-9 字符串的扩展(下).mp4
  • [34.7 MB] 3-3 ES6中的类与继承.mp4
  • [65.6 MB] 3-11 数值的扩展.mp4
  • [100.8 MB] 3-7 新的数据结构Map.mp4
  • [29.3 MB] 3-8 字符串的扩展(上).mp4
  • [32.2 MB] 3-12 代理Proxy(上).mp4
  • [99.8 MB] 3-14 反射Reflect.mp4
  • [97.4 MB] 适合人群 前端开发者 JavaScript爱好者 编程初学者 学习收获 熟练掌握ES6-11新特性 提升JavaScript编程水平 应对复杂的前端开发挑战 祝您学习愉快! 学有所成,前程似锦!