TS 递归类型:处理嵌套数据结构
学习定义递归类型,处理树形、链表等嵌套数据结构。 · 难度:入门 · +15XP
递归类型简介
递归类型是指在其定义中引用自身的类型,常用于表示无限嵌套的数据结构,如 JSON、文件系统、抽象语法树等。TypeScript 支持递归类型引用,但需要注意深度限制和编译性能。
常见应用
| 数据结构 | 说明 |
|---|---|
| 链表 | 每个节点包含值和下一个节点引用 |
| 树 | 节点包含值和子节点数组 |
| JSON 值 | 可以是基础类型、数组或对象(嵌套) |
代码示例
// 链表节点
interface ListNode<T> {
value: T;
next: ListNode<T> | null;
}
// JSON 值类型
type JSONValue =
| string
| number
| boolean
| null
| JSONValue[]
| { [key: string]: JSONValue };
练习提示:定义一个文件系统节点类型,包含文件名、类型(文件或文件夹)以及子节点(如果是文件夹)。