参考にさせていただいたページ
Template Literal Typesについて
配列を元にStringLiteralTypesの型を定義する方法について
はじめに
以下のように記述すると、変数myStringには 'aaa' または 'bbb' または 'ccc' のいずれかだけが代入できるようになります。
const myString: 'aaa' | 'bbb' | 'ccc' = 'aaa'
この型を配列を元に定義したい。ということです。
配列を元にStringLiteralTypesの型を定義する方法
以下のようにするとできます。
const myArray = ['aaa', 'bbb', 'ccc'] as const type MyStringLiteralType = typeof myArray[number] const myString: MyStringLiteralType = 'aaa'