TypeScript:如何为链表定义递归接口?
正确定义链表结构的TypeScript递归接口
原代码里的next类型定义有误,要实现链表的嵌套递归结构,应该让next字段的类型指向接口自身,而非使用Record类型。正确的递归接口定义如下:
interface List { data: number; next: List | null; }
这样定义后,链表节点的next字段既可以是另一个同类型的List节点,也可以是null(用来标记链表尾部),完全匹配链表的嵌套特性。
测试示例:
let node: List = { data: 1, next: { data: 2, next: { data: 3, next: null } } };
该接口可以适配任意层级的链表嵌套,TypeScript会自动完成类型校验。
内容的提问来源于stack exchange,提问作者user1715
相关产品推荐
相关产品推荐

