我有下一个对象
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 | {};
}