交叉类型与联合类型
理解如何使用交叉类型组合多个类型,并使用联合类型创建灵活的类型选项
交叉类型与联合类型 是 CoddyKit 上的免费 TypeScript Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 TypeScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 TypeScript Academy 课程共包含 3 节课。
交叉类型和联合类型简介
交叉类型和联合类型简介
TypeScript 中的交叉类型和联合类型可以组合或创建灵活的类型,为定义复杂的数据结构提供了强大的方式。

什么是联合类型
什么是联合类型
联合类型允许一个值属于多种类型中的一种。您可以使用 | 运算符定义联合类型。
联合类型示例
联合类型示例
下面是使用联合类型的示例:
type Status = 'active' | 'inactive' | 'suspended';
let userStatus: Status;
userStatus = 'active'; // Valid
userStatus = 'pending'; // Error什么是交叉类型
什么是交叉类型
交叉类型将多个类型合并为一个类型,要求合并后的类型具有进行交叉操作的所有类型的全部属性。
交叉类型示例
交叉类型示例
下面是使用交叉类型的示例:
type User = {
name: string;
email: string;
};
type Admin = {
role: string;
};
type AdminUser = User & Admin;
const admin: AdminUser = {
name: 'Alice',
email: 'alice@example.com',
role: 'admin'
};联合类型和交叉类型的区别
联合类型和交叉类型的区别
联合类型允许值属于多种可能的类型,而交叉类型将多个类型合并为一个类型,要求所有属性都存在。
实际应用场景
实际应用场景
联合类型非常适合处理多种输入类型,而交叉类型则适合将多个角色或功能合并到一个类型中。
练习任务
练习任务
使用交叉类型将 Product 类型与 Discount 类型合并,创建一个新类型。使用该类型声明一个变量。
联合类型和交叉类型回顾
恭喜您!
您已经学会了如何在 TypeScript 中使用联合类型和交叉类型定义灵活且组合后的类型。请练习这些概念,让您的代码更加健壮并具有更好的类型安全性!

常见问题解答
「交叉类型与联合类型」课时是免费的吗?
是的 — 「交叉类型与联合类型」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 TypeScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 TypeScript Academy 课程共包含 3 节课。
「交叉类型与联合类型」这节课中我会学到什么?
理解如何使用交叉类型组合多个类型,并使用联合类型创建灵活的类型选项 你通过在浏览器中直接运行的动手代码来练习 TypeScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 TypeScript Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 TypeScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。
「交叉类型与联合类型」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 TypeScript Academy 课中编写并运行代码吗?
能。每节 TypeScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Keyof 与查找类型
- 映射类型
- 交叉类型与联合类型