typescript 如何定义无限嵌套的数据类型
时间: 2023-06-12 12:08:08 浏览: 325
TypeScript入门-基本数据类型
可以使用递归类型定义无限嵌套的数据类型。递归类型是一种特殊的类型,它包含自己的引用。下面是一个示例:
```typescript
type NestedObject = {
[key: string]: NestedObject | string;
};
```
在这个示例中,我们定义了一个 `NestedObject` 类型,它是一个对象类型,键是字符串类型,值可以是字符串或者递归引用自身的 `NestedObject` 类型。
使用这个类型定义时,可以创建无限深度的嵌套对象,例如:
```typescript
const obj: NestedObject = {
key1: {
key2: {
key3: "value"
}
},
key4: "value"
};
```
这个示例中,`obj` 对象包含两个键,`key1` 对应一个嵌套的 `NestedObject` 对象,`key4` 对应一个字符串值。`key1` 对象又包含一个键 `key2`,对应另一个嵌套的 `NestedObject` 对象,`key2` 对象又包含一个键 `key3`,对应一个字符串值。这样就形成了一个无限深度的嵌套对象。
阅读全文