Open5

TypeScriptメモ

DANDAN

Type Challengesを解いたりする中で学んだことのメモ

DANDAN

Mapped Types

type SystemSupportLanguage = "en" | "fr" | "it" | "es";

type Butterfly = {
  [key in SystemSupportLanguage]: string;
};

/*
type Butterfly = {
  en: string
  fr: string
  it: string
  es: string
}

Readonly<T>もこの機能で実現されている。

type Readonly<T> = {
  readonly [P in keyof T]: T[P];
};

https://typescriptbook.jp/reference/type-reuse/mapped-types