typescript - Tipe dari semua objek yang ada sebagai string


Saya memiliki tipe objek yang memiliki properti dengan tipe yang berbeda-beda

type ExampleType = {
  one: string
  two: boolean
  three: 'A' | 'Union'
}

Apakah ada cara singkat untuk menjelaskan tipe yang sama ini tetapi dengan semua properti sebagai string?

type ExampleStringType = {
  one: string
  two: string
  three: string
}

Dalam dokumen saya melihat beberapa tipe manipulasi string intrinsik tetapi tidak ada yang untuk mengatur semua properti sebagai string. Saya berasumsi itu pasti mungkin. Saya membayangkan sesuatu seperti

const value: AllString<ExampleType> = {
  one: "string"
  two: "string"
  three: "string"
}

Jawaban #1

Anda dapat menggunakan keyof untuk mendapatkan kunci dari tipe tertentu, dan Anda dapat memetakannya ke string.

type AllString<T> = {
  [key in keyof T]: string;
}

Jawaban #2

interface ExampleStringType{
 [key:string]:string;
}

Artikel terkait