网站搜索

如何在 TypeScript 中声明一个具有未知键(UUID)的对象?


我正在学习 Typescript。我想知道如何声明一个对象的未知键(它是一个 UUID:我事先不知道其值),以及如何声明我需要多个对象(相当于一个数组:“employees: Person[]”)。例如,在 JSON 中,我有:

let employees = {
   "5175d6f8-009f-11eb-adc1-0242ac120002": {
      name: "John",
      age: 23
   },
   "04c6dcc5-0442-4858-875d-695d4e933da2": {
      name: "Sophie",
      age: 30
   }
}

我如何在 TypeScript 中声明这个结构?提前感谢您的帮助!

答案#1

你可以使用索引类型签名并像这样定义类型

type Employee = {
  name: string
  age: number
}

type Employees = {
  [key: string]: Employee
}

答案#2

为了简便,你也可以使用工具类型 Record

type Employee = {
   name: string
   age: number
}

type Employees = Record<string, Employee>