Typescript 递归简单对象的类型脚本类型?

Typescript 递归简单对象的类型脚本类型?,typescript,Typescript,我试图构建一个类型来描述一个“简单对象”,这个对象只包含基本类型,其他对象和数组也只包含基本类型。。。或其他对象和数组等 type Primitive = string | number | boolean type SimpleArray = Array<Primitive | SimpleObject | SimpleArray> type SimpleObject = Record<string, Primitive | SimpleObject | SimpleArra

我试图构建一个类型来描述一个“简单对象”,这个对象只包含基本类型,其他对象和数组也只包含基本类型。。。或其他对象和数组等

type Primitive = string | number | boolean
type SimpleArray = Array<Primitive | SimpleObject | SimpleArray>
type SimpleObject = Record<string, Primitive | SimpleObject | SimpleArray>
type Primitive=string | number | boolean
类型SimpleArray=Array
输入SimpleObject=Record

但是,我被告知不能递归地使用
SimpleObject
类型声明。有办法描述这种类型吗?

您可以通过将
记录
替换为
{[key:string]:…}
(基本相同)来解决此问题:

顺便说一句,您可以将上述内容简化为:

type SimpleObject = string | number | boolean | SimpleObject[] | { [key: string]: SimpleObject };
type SimpleObject = string | number | boolean | SimpleObject[] | { [key: string]: SimpleObject };