学 TypeScript: 编程课程
学 TypeScript: 编程课程 — 随身携带类型检查器,学习 TypeScript
学 TypeScript: 编程课程 是一款免费的 iOS 和 Android 应用,你可以通过亲手编写代码来学习 TypeScript。编译器在设备上运行,因此类型错误会在你输入时实时标下划线;101 门课程将带你从第一个类型注解,一路学习联合类型、泛型和条件类型,直到 React、Node.js 和 tRPC。AI 导师会用通俗易懂的语言解释编译器提示的任何问题。
- 价格
- 免费,可升级至 Pro
- 平台
- iOS 和 Android
- 语言
- 22
- 年龄分级
- 4+
- 需要
- iOS 15.1 或更高版本
- App Store
- 3.0 ★ (1)


观看红色下划线出现,是学习类型最快的方式。
TypeScript 的核心就在于反馈循环:写错内容,准确看出错在哪里、为什么错,然后修正。编辑器会在你输入时检查类型,Type Explorer 会显示编译器认定某个值的类型,因此每个概念都会紧跟着由它解释的错误一起出现。
这是什么
学 TypeScript: 编程课程 是一款免费的 iOS 和 Android 应用,通过在手机上运行真实编译器来学习 TypeScript。应用包含 101 门课程和 352 节课,按 A1 到 C2 分级,涵盖基本类型、接口、联合类型、类型收窄、泛型、条件类型和映射类型、infer 关键字、严格模式与 tsconfig,以及使用 React、Node.js、Zod、Jest 和 tRPC 完成的真实项目。编辑器会在你输入时实时标出类型错误,此外还有谜题、引导式项目、编程任务、面试模拟器和 AI 导师,帮助你练习。
应用内
界面展示





课程
TypeScript 课程涵盖的内容
应用自有课程列表中共有 101 门课程,等级从 A1 到 C2。这些是主要学习阶段,使用真实的课程名称。
先学习类型和变量
TypeScript 入门、TypeScript vs JavaScript:类型为何重要、基本类型(string、number、boolean、any、unknown)以及类型和变量基础。
函数、对象和日常类型
函数与类型注解、数组、元组与枚举、interface 与 type alias、联合类型与交叉类型、字面量类型与 const Assertions,以及可选链与空值合并。
类型收窄、类和泛型
类型收窄与类型守卫、类与访问修饰符、泛型基础、索引签名,以及 typeof 和 keyof 运算符。
工具类型和安全代码
工具类型(Partial、Required、Pick、Omit、Record)、错误处理模式、严格模式与 tsconfig 最佳实践,以及使用 Zod 进行运行时验证。
高级类型
带约束的高级泛型与条件类型、映射类型与模板字面量类型、可辨识联合与穷尽性检查,以及 satisfies 运算符。
实际项目中的 TypeScript
TypeScript 与 React:Props 和 Hooks、TypeScript 与 Node.js 和 Express、使用 Jest 测试 TypeScript、类型安全的 API 客户端、tRPC、GraphQL 和 Next.js。
迁移和工具链
迁移:从 JavaScript 到 TypeScript、构建与打包工具、使用 TypeScript 设置 Monorepo,以及编写声明文件。
类型级编程
infer 关键字与复杂条件类型、编写自定义工具类型、递归类型与自引用类型,以及 TypeScript Compiler API。
工作原理
一节 TypeScript 课程如何进行
课程简短,而且每一节都有编译器参与。
阅读简短说明
每节课用时五到十分钟,将通俗易懂的说明与小型示例结合起来,例如讲解接口和类型别名之间的区别。
编写代码,观察类型变化
在编辑器中输入时,错误会实时标出下划线。Type Explorer 会显示光标所在位置的类型,包括联合类型的成员;你还可以运行程序查看输出结果。
练习,然后在不清楚时提问
每个主题都会以问题和小型代码任务收尾;Type Gym 中有谜题,Debug Arena 中则有需要修复的错误代码。如果泛型约束或编译器消息让你感到困惑,AI 导师会为你解释。
包含内容
应用包含的内容
101
从基础类型到 C2 的课程
352 节按 A1 到 C2 分级的课程,内容从类型为何重要和基本类型,一直到 TypeScript 编译器 API 以及构建类型安全的解析器。
实时
编辑器中的类型检查
类型错误会在你输入时实时标出下划线,Type Explorer 会显示光标下方的类型,AI 工具还可以检查你的程序并提出可直接应用的修复方案。
24
Type Gym 类型谜题
24 道类型谜题,加上每日谜题;还有 Debug Arena,你需要在时间耗尽前修复错误代码。
20
引导式项目和 60 个任务
一步一步构建的小型程序,每一步都会在运行时接受检查;此外还有 60 个分为三个级别的编程任务,内容从 Hello World 一直到算法。
30
面试模拟器
一组限时完成的 30 道题,并附带评分报告;此外还有 50 道带答案的面试题,以及显示你仍会答错哪些主题的薄弱项雷达。
AI
AI 导师
询问编译器错误或泛型约束,获取通俗易懂的解释。
背景
如果你已经了解 JavaScript,为什么还要学习 TypeScript?
TypeScript 是在 JavaScript 之上加入静态类型系统的语言。你描述数据的结构,编译器会在代码运行前检查每次使用,而编译为纯 JavaScript 时,类型会被擦除。这就是 React、Angular 和 Node 代码库经常使用它的原因:语言还是同一种,但编辑器自动补全能理解你的代码,还能在构建时捕获一大类“undefined 不是函数”的错误。如果你能读懂 JavaScript,那么开始学习 TypeScript 所需的大部分基础你已经具备了。
类型注解与类型推断从这里开始
你可以为变量或函数参数添加类型注解,TypeScript 也会根据你赋予的值自行推断出许多类型。学会什么时候该写出类型、什么时候该交给类型推断完成,是第一项实用技能。
联合类型与类型收窄日常开发的主力工具
联合类型表示一个值可以属于多种类型之一。通过 typeof 检查、相等性判断和自定义类型守卫进行类型收窄,可以告诉编译器某个分支中的值究竟是哪一种类型;而可辨识联合类型则能让这种检查做到穷尽所有情况。
泛型灵活而又安全
泛型让函数或类型可以处理多种类型,而不必退回使用 any。借助 extends 关键字,约束还可以规定类型参数必须能够执行哪些操作。
工具类型、映射类型与条件类型类型系统展现表达力的地方
Partial、Pick、Omit 和 Record 都是由映射类型和条件类型构建而成的。理解这些类型以及 infer 关键字后,你就能编写自己的工具类型,而不必照搬现成的类型。
tsconfig 与严格模式编译器要多严格,由你决定
编译器选项决定 TypeScript 会报告多少问题。开启严格模式能让类型真正值得信赖,也能让迁移现有 JavaScript 项目变成一项渐进式工作,按文件逐个完成。
是否适合
适合哪些人——不适合哪些人
如果你符合以下情况,就很适合
- 会编写 JavaScript,但在招聘信息和代码库中不断看到 TypeScript
- 使用 React 或 Node,并希望实现端到端的类型化代码
- 是初学者,希望从一开始就学习类型化语言标准
- 更适合通过编译器反馈和小型谜题学习,而不只是阅读
- 有一个 JavaScript 项目,并希望逐个文件迁移
如果你符合以下情况,这不是适合你的工具
- 从未编写过代码,希望从零开始学习第一门语言,因为课程默认你能读懂代码
- 需要在完整的 IDE 中构建大型项目,而这仍然需要一台笔记本电脑
- 以为所有内容都免费,因为第一门课程免费,而 Pro 可以解锁其余内容
- 想学习 Microsoft 官方课程,但该应用是独立开发的
问题
常见问题
在手机上学习 TypeScript 的最佳方式是什么?
选择一款真正检查类型的工具,而不只是提供文字阅读内容。学 TypeScript: 编程课程 会在设备上运行编译器,在你输入时标出类型错误,并将 101 门课程与类型谜题、引导式项目和 AI 导师结合起来。应用可在 iOS 和 Android 上免费开始使用,并支持 22 种语言。
不知道 JavaScript,也能学习 TypeScript 吗?
可以,但最好先读懂一些 JavaScript,因为 TypeScript 就是加上类型的 JavaScript。学 TypeScript: 编程课程 会从类型为何重要和基本类型开始,前期课程还会比较 TypeScript 与 JavaScript。希望从第一天就学习类型化语言的初学者,正是该应用面向的用户群体之一。
TypeScript 和 JavaScript 有什么区别?
TypeScript 为 JavaScript 添加了静态类型系统。编译器会根据你声明的类型或它推断出的类型检查代码,然后移除这些类型,因此实际运行的是普通 JavaScript。这样做的好处是能更早发现错误,并获得更好的编辑器自动补全;代价是需要增加一个构建步骤,并学习一些额外语法。
该应用会使用真正的编译器检查我的 TypeScript 吗?
会。TypeScript 编译器会在设备上运行,因此编辑器会在你输入时标出类型错误,Type Explorer 还会显示光标所在位置的类型。你也可以运行代码并查看输出。应用说明,TypeScript 是 Microsoft Corporation 的商标,与 Microsoft 没有隶属关系。
TypeScript 中的泛型是什么?应用如何教授泛型?
泛型让函数或类型能够处理多种类型,同时保持类型安全,而不是退回使用 any。应用会分步骤教授泛型:先学习泛型函数和泛型类型,再学习约束,然后是条件类型、映射类型、模板字面量类型和 infer 关键字,并通过 Type Gym 中的谜题进行练习。
应用是否涵盖 React 和 Node.js 中的 TypeScript?
涵盖。实际项目课程包括带有 React props 和 hooks 的 TypeScript、TypeScript 与 Node.js 和 Express、类型安全的 API 客户端、使用 Zod 进行运行时验证、使用 Jest 测试、GraphQL、tRPC 和 Next.js。迁移课程还会展示如何在现有 JavaScript 项目中逐步采用 TypeScript。
学 TypeScript: 编程课程 是免费的吗?
应用可以免费下载。免费版本包括第一门课程、第一个引导式项目和项目路径、两项编码任务、每日 Lab 练习和每日 AI 导师使用额度,但会显示广告。Pro 可解锁所有课程、项目、路径和任务、无限 AI 导师与 Lab 练习、编辑器中的完整错误列表以及证书考试,并移除广告。
应用能帮助准备 TypeScript 面试吗?
可以。面试模拟器是一组限时的 30 道题,结束时会生成评分报告;此外还有 50 道带答案的面试题。Weakness 雷达会显示你仍然容易答错的主题,让你可以回到相应课程继续学习。
学习 TypeScript 需要多长时间?
如果你已经了解 JavaScript,那么类型、interface 和联合类型的基础知识可以通过每天几节短课在几周内学会,而泛型和高级类型系统需要更长时间。应用通过连续学习天数、XP、进度跟踪和按你选择的时间发送每日提醒,帮助你保持稳定的学习节奏。
有证书吗?
有。Pro 包含证书考试,通过考试后即可获得结业证书并分享。证书会记录你完成的课程学习内容,但不属于 Microsoft 资格认证。
更多 CoddyKit 产品
可在 iOS 和 Android 上使用。