我定义了以下类型:
type UserConfigCategories = 'tables-config' | 'link-config' | 'general-config';
但是这种类型可以增长,我不想更新它。 例如,是否可以从数组动态创建此类型?
答案 0 :(得分:1)
如果定义类别的数组是源中的文字,则可以从在3.4中添加as const
的值中推断类型。
const CONFIG_CATEGORIES = ['tables-config', 'link-config', 'general-config'] as const;
type UserConfigCategories = (typeof CONFIG_CATEGORIES)[number]
const u: UserConfigCategories = 'tables-config';
const v: UserConfigCategories = 'bad-name'; // Type '"bad-name"' is not assignable to type
// '"tables-config" | "link-config" | "general-config"'.