1. ホーム
  2. typescript

[解決済み] Typescript で Enum を制限付きキータイプとして使用する

2022-12-02 10:24:49

質問

enum は "number" や "string" だけでなく、key 型として使用できるのでしょうか?現在、唯一可能な宣言は x:{[key:number]:any} で、key は "number" または "string" のタイプにすることができるように思われます。この例のようなものを作ることは可能でしょうか?

enum MyEnum
{
    First,
    Second
}

var layer:{[key:MyEnum]:any};

どのように解決するのですか?

2018年以降 を使わなくても、Typescriptでもっと簡単な方法があります。 keyof typeof :

let layer: { [key in MyEnum]: any}

全てのキーを含めなくても良いように

let layer: { [key in MyEnum]?: any}