全部课程

每节课都是一段真实的代码。
每段代码都是一次英语练习。

选一个难度开始。持续更新,每周上新课程。

🌱

入门

8 节课

零基础也能看懂。代码和英语同步讲解,没有废话。

入门
5分钟50 XP

变量与含义 — 为什么命名如此重要

Variables & Meaning — Why Names Matter

好的变量名就是等待被说出口的英语。在这节课里,你将学会 TypeScript 开发者如何命名,以及他们选用的词汇如何体现其思维方式。

#variables#naming#beginner
入门
6分钟60 XP

用简单英语理解函数

Functions in Plain English

函数是一种承诺。它接收某物,做某件事,然后返回某物。本课学习如何阅读 TypeScript 函数签名——这就像阅读一份英文合同。

#functions#types#beginner
入门
7分钟70 XP

像母语者一样读懂错误信息

Reading Error Messages Like a Native

TypeScript 的错误信息是用英文写的,它们真的在试图帮助你。学会解读它们,每当出错时,就像有位高级工程师在你耳边低声提示。

#errors#debugging#beginner
入门
🔒 Pro6分钟60 XP

Interface vs Type — TypeScript 最热门的争论

Interface vs Type — The Great TypeScript Debate

每位 TypeScript 开发者都会问:「该用 interface 还是 type?」答案揭示了我们如何在代码和英语中描述「形状」。

#interface#type#beginner
入门
🔒 Pro5分钟50 XP

可选链 — 「如果存在,那么…」

Optional Chaining — 'If It Exists, Then...'

`?.` 运算符是 TypeScript 礼貌地问:「这存在吗?存在就继续,不存在就返回 undefined。」一个符号就是一个英语条件句。

#optional-chaining#nullish#beginner
入门
🔒 Pro6分钟60 XP

数组方法 — 代码里的英语动词

Array Methods — English Verbs in Code

JavaScript 数组方法读起来像英语句子:「找到用户」「筛选活跃用户」「把每个条目映射为标题」。学会这些词汇,代码自然就会写了。

#arrays#methods#beginner
入门
🔒 Pro8分钟100 XP

Git Commit Messages — 书写历史

Git Commit Messages — Writing History

你的 commit 历史是一个故事。学习 Conventional Commits 标准、祈使语气,以及如何写出让未来的自己(和队友)感谢的 message。

#git#commits#conventions
入门
🔒 Pro9分钟110 XP

写 README 文件 — 项目的门面

Writing README Files — Your Project's Front Door

一个好的 README 是人们使用一个项目和忽略一个项目之间的区别。学习开源 README 文件的结构、词汇和写作风格。

#readme#documentation#open-source
🌿

进阶

13 节课

你已经会写 TypeScript,现在学会用英语想TypeScript。

进阶
8分钟80 XP

泛型 — 「随你带来什么类型」的艺术

Generics — The Art of 'Whatever Type You Bring'

泛型是 TypeScript 的说法:「我不在乎你用什么类型,但你给我什么,我就还给你什么。」这是抽象的概念,完美映射到自然英语中。

#generics#intermediate#typescript
进阶
8分钟80 XP

Async/Await — 对话未来

Async/Await — Speaking to the Future

异步代码在现代开发中无处不在。学习 `async/await` 如何让你的代码读起来像自然英语故事,而不是层层嵌套的回调地狱。

#async#promises#intermediate
进阶
7分钟70 XP

联合类型 — 代码里的「非此即彼」

Union Types — Either/Or in Code

联合类型允许一个值是几种类型之一。英语中的 'or' 直接对应 TypeScript 的 `|`。掌握它,你就能像母语者一样读懂复杂的类型签名。

#union#literal#intermediate
进阶
🔒 Pro7分钟75 XP

类型收窄 — 排除可能性

Type Narrowing — Ruling Out Possibilities

随着你写条件语句,TypeScript 会越来越聪明。「收窄」是指在 if 块内类型变得更具体——就像侦探排除嫌疑人。

#narrowing#guards#intermediate
进阶
🔒 Pro8分钟80 XP

错误处理 — 清晰地谈论失败

Error Handling — Speaking About Failure Clearly

你处理错误的方式揭示你对失败的思考方式。TypeScript 的错误模式与日常英语中关于期望、失败和恢复的短语一一对应。

#errors#try-catch#intermediate
进阶
🔒 Pro7分钟75 XP

React Props — 给你传递的东西加类型

React Props — Typing What You Pass

Props 是 React 组件之间沟通的方式。TypeScript 让这个沟通变得明确——每个 prop 都有类型,编译器强制执行这份合同。

#react#props#intermediate
进阶
🔒 Pro7分钟70 XP

读 npm 文档 — 开发者英语的核心技能

Reading npm Docs — The Developer's English Skill

你使用的每个库都有 README。高效阅读它可能是开发者最有价值的英语技能。学习标准词汇和结构。

#npm#docs#intermediate
进阶
🔒 Pro10分钟120 XP

泛型 — 写一次,到处用

Generics — Write Once, Use Everywhere

泛型让你编写灵活、可复用的函数,同时保持类型安全。本课探索泛型函数、约束和流行库中的实际模式。

#generics#type-safety#reusable-code
进阶
🔒 Pro12分钟130 XP

Async/Await — 驯服异步代码

Async/Await — Taming Asynchronous Code

掌握异步编程的英文词汇:promises、callbacks、竞态条件和并发执行。像读英文散文一样读异步模式。

#async#promises#error-handling
进阶
🔒 Pro8分钟100 XP

Enums vs 联合类型 — 选择正确的工具

Enums vs Union Types — Choosing the Right Tool

TypeScript 提供了枚举和字符串联合类型两种工具。学习何时使用哪种,理解 tree-shaking 的影响,阅读真实代码库模式。

#enums#unions#patterns
进阶
🔒 Pro10分钟120 XP

Zod — 带类型推断的运行时验证

Zod — Runtime Validation with Type Inference

Zod 弥合编译时类型和运行时数据之间的鸿沟。学习如何用类型安全的 schema 验证 API 响应、表单输入和环境变量。

#zod#validation#type-inference
进阶
🔒 Pro9分钟110 XP

RESTful API 命名 — 流利地说 HTTP

RESTful API Naming — Speaking HTTP Fluently

好的 API 设计读起来像自然英语。学习资源命名、HTTP 动词、状态码背后的惯例,以及 REST 词汇如何映射到英语语法。

#rest#api-design#http
进阶
🔒 Pro9分钟110 XP

Code Review 礼仪 — 给予和接受反馈

Code Review Etiquette — Giving and Receiving Feedback

Code Review 是对话,不是审判。学习代码审查中使用的专业英语短语,从请求修改到优雅地批准 PR。

#code-review#communication#teamwork