如何在typescript中键入递归对象



我有下一个对象

const obj = {
name: 'First',
age: 22,
}

此对象具有下一个接口

interface ITask {
name: string,
age: number
}

但是在一些数据映射之后,我创建了一个递归对象,比如这个

const obj = {
name: 'First',
age: 22,
next: {
name: 'Second',
age: 12,
next: { EMPTY OBJECT WHEN END }
}
}

我试着用这种方式键入这个对象,但它不起的作用

type IRecursiveTask =  {
[key: string]: IRecursiveTask
} & ITask

type定义了一个类型别名,并且类型别名不能引用自己。然而,interface可以。

interface IRecursiveTask {
name: string;
age: number;
next: IRecursiveTask | {};
}

相关内容

  • 没有找到相关文章

最新更新