matsutoba’s blog

フロントエンドエンジニアをしています

Key-Valueで定数として定義しているオブジェクトの値をUnion型として使いたい

事前に定義されているオブジェクトから値の部分をUnion型として、関数のパラメータの型に使いたい。

const ItemName = {
    First: "No1",
    Second: "No2",
    Third: "No3"
} as const;

type ItemNameType = keyof typeof ItemName;  // "First" | "Second" | "Third"
type ItemValueType = typeof ItemName[ItemNameType];  // "No1" | "No2" | "No3"
:
:

const func = (param: ItemValueType):void => { ...