
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
从 ES2016 到 ES2024 各版本重要特性的快速梳理。文章涵盖 ES2017 的 async/await、ES2018 的 Rest/Spread 属性、ES2019 的 flat/flatMap、ES2020 的可选链 ?.、空值合并 ??、BigInt、Promise.allSettled 和顶层 await、ES2021 的 Promise.any 和逻辑赋值运算符、ES2022 的

Symbol 解决属性名冲突,Symbol.iterator 定义迭代协议,让任意对象支持 for...of 遍历。Generator(function*)通过 yield 实现可暂停的函数,是迭代器的最简实现,也是 async/await 的底层原理。本文从设计动机讲起,覆盖 Symbol 元编程、迭代协议、Generator 协程本质及异步迭代。

改 DOM 后浏览器在干什么?本篇串讲 渲染流水线(DOM → CSSOM → Layout → Paint → Composite),对比 回流、重绘、合成 的开销;说清 强制同步布局 与读写分离,以及 DocumentFragment 批量插入。动画为何优先 transform/opacity?will-change 为何不能滥用?另补 CSS/JS 阻塞与 FOUC。

JS 不能手动 free,内存全靠 GC。本篇讲清 标记-清除、V8 分代,以及 闭包、全局变量、无界 Map、Detached DOM 等泄漏场景;对比 Map 与 WeakMap,简述 WeakRef。附 Chrome 堆快照对比 + Retainers 排查思路

Promise 本身是同步的」到底怎么理解?本篇系统讲 Promise 三态、链式 then、值穿透,对比 all / race / allSettled / any 该何时用;并给出 race 超时、async 重试、并发池 等工程写法。配合 async/await 串并行与错误处理,附易混点与 5 道自测题,建议和系列第 08 篇微任务内容对照阅读。

接上篇拷贝与防抖节流,本篇专攻面试后半场:Promise 怎么手写、Promise.all 和 allSettled 差在哪、async/await 和 Generator 本质是什么;再加上 LRU 缓存 和 虚拟列表 两道性能题。每节有代码、有边界、有练习题,建议和系列第 08 篇「宏任务/微任务」对照阅读。

手写反转/回文、公共子串与最长回文、KMP 与滑动窗口,再做一个简易字符串模板,双指针与复杂度一次讲透。

讲清 JS 主线程、调用栈与事件循环:宏任务与微任务谁先谁后,Promise 与 async/await 如何排队,并用手推经典输出顺序题。
ES2015 引入的 class 与 extends,为构造函数与原型继承提供了更规整的写法;在语义上,它们仍是基于原型的模型:实例的原型链、instanceof 与构造器对象之间的关系,可在上一篇《原型与原型链》中找到对应图示。本篇从声明规则、super 与 this 的约束、静态成员、私有字段 # 等角度说明用法与易错点;







