入门第 6 / 18 节25 分钟 · 实操
Union 与 Literal 类型(Type)
TypeScript 课程的一部分
有些值并不是单一的一种东西。一个查找用户的函数,要么找到一个用户,要么找不到。一个表单字段里装的,要么是用户输入的数字,要么还什么都没有。一个请求要么处于等待中,要么成功,要么失败,绝不会是别的状态。
你到目前为止写过的类型都没法表达这些。string 意味着所有可能的字符串。number 意味着所有可能的数字。既没有办法说“这两个类型之一”,也没有办法说“恰好是这个值,别的都不行”。这两个空缺由同一个想法填上,而它是 TypeScript 里最有用、在大多数其他语言中又找不到对应物的东西。 ...
想在真实环境里学习 TypeScript Union 与 Literal 类型(Type) 吗?
点击下方,立即获得一台预装 TypeScript 的 Linux 主机,跟懂你代码的 AI 导师一起完成 Union 与 Literal 类型(Type) 的实操练习。
开始这节课Union 与 Literal 类型(Type)你将学到什么
- Union types
- String literal types
- Numeric literal types
- Literal narrowing with as const
- Union of object shapes
用你的语言阅读本课
本课程的所有课时
18 节- 1你好,TypeScript20 分钟
- 2类型(Type)基础25 分钟
- 3数组与 Tuple25 分钟
- 4对象类型(Type)与 Interface25 分钟
- 5函数25 分钟
- 6Union 与 Literal 类型(Type)25 分钟
- 7类型(Type) Narrowing30 分钟
- 8Type Alias vs Interface20 分钟
- 9Optional、Readonly 与 Nullable25 分钟
- 10Enum20 分钟
- 11Generic30 分钟
- 12Class25 分钟
- 13继承与 Abstract Class25 分钟
- 14模块(Module)25 分钟
- 15工具类型(Utility Types)30 分钟
- 16Mapped 与 Conditional 类型(Type)30 分钟
- 17声明文件(Declaration Files)与第三方库25 分钟
- 18tsconfig 与编译器(Compiler)30 分钟
探索其他课程
Python
19 节 · 9.3小时
Go
20 节 · 12.3小时
React
17 节 · 10.2小时
Linux
17 节 · 8.5小时
Docker
13 节 · 6.6小时
Git
13 节 · 5.9小时
Kubernetes
14 节 · 8小时
Ansible
12 节 · 6.1小时
Bash
12 节 · 5.7小时
Helm
10 节 · 5.4小时
GitLab CI
11 节 · 5.8小时
Jenkins
11 节 · 5.3小时
PostgreSQL
14 节 · 7.6小时
MySQL
13 节 · 6.8小时
Web
14 节 · 5.9小时
Vibe Coding
12 节 · 5.8小时
Prompt Engineering
11 节 · 6.2小时
Vibe 编程:基础
12 节 · 4.5小时
Vibe 编程:从原型到生产
12 节 · 5.5小时
Vibe 编程:多智能体工程
12 节 · 5.3小时
Vibe 编程:高级工程
12 节 · 7.3小时
