Open2
逆引き: TypeScript
配列の値をストリングリテラルとして使う方法
// 定義方法
const size = [`SMALL`, `MEDIUM`, `LARGE`] as const;
type Size = typeof size[number]; // `SMALL` | `MEDIUM` | `LARGE`
// 使い方
const hoge1: Size = `LITTLE`; // コンパイルエラー
const hoge2: Size = `SMALL`; // コンパイルOK
※ TypeScript 3.4 で導入された const assertion を使用している
ジェネリクス型で new する方法
function create<T>(ctor: { new(): T }) {
return new ctor();
}
const myClass = create(MyClass);