JavaScript 精通指南
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/javascript-mastery。
技能介绍
你在 JS 里卡住的那些点
typeof null === "object"、隐式类型转换、微任务与宏任务的先后顺序、this 到底指向谁——这些不是「背 API」能解决的,而是语言模型与运行时行为叠在一起的问题。团队在 code review 里也常因 ==、可变 var、闭包误用或异步顺序假设不一致而产生争议。
技能如何组织内容
本技能以 33-js-concepts 为脉络,把 JavaScript 拆成可检索的主题块,便于在对话里按需展开:
- 基础:7 种原始类型、假值与类型强制、
===与相等规则 - 作用域与闭包:词法作用域、闭包(模块模式、工厂、记忆化等)、
var/let/const - 函数与执行:调用栈、变量提升、
this的绑定方式 - 事件循环与异步:同步 → 微任务(Promise、
queueMicrotask)→ 宏任务(setTimeout等)、回调 / Promise /async/await - 函数式与对象:高阶函数、纯函数、
map/filter/reduce、柯里化、原型链 - 现代语法:解构、展开/剩余、模块、
?.与??
文末附带 快速参考卡(如 ?? 与 || 的差异),适合对照解释异常行为或写审查意见。
适用边界
这是 概念与最佳实践导航,不会替你跑测试或改仓库;复杂框架(React 调度、打包器插件等)需结合项目文档。讲解深度取决于你给出的代码片段与具体现象描述。
使用场景
- 生产日志里 Promise 回调先于 setTimeout 执行,需要按微任务/宏任务顺序解释并定位异步写法问题。
- Code Review 中遗留代码大量使用 `==` 与 `var`,需要对照技能要点列出应改为 `===` 与 `let/const` 的理由。
- 新人问「闭包为什么能保存私有变量」,需要结合模块模式或工厂函数,用词法作用域讲清数据隐私实现。
- `async/await` 与未处理的 Promise rejection 导致堆栈难读,需要区分同步栈与异步错误链以便修复 bug。
适合人员
- 维护含回调、`var` 与隐式转换的老前端代码库、常被怪异运行时行为卡住的工程师
- 备课要讲清 7 种原始类型、8 个假值与 `===` 规则的培训机构或企业内部讲师
- 在 PR 中推动统一异步风格与纯函数习惯、需要可引用语言规则的技术负责人
- 写 Node 脚本或浏览器小工具、对 `this` 绑定和事件循环顺序拿不准的全栈或后端开发者