Tipos literales de Typescript usados como clave para indexador
¿Hay alguna manera de definir un tipo literal de TypeScript que pueda usarse como clave de cadena en un indexador?
type TColorKey = 'dark' | 'light';
interface ColorMap {
[period: TColorKey]: Color;
}
Esto arroja el error: El tipo de parámetro de la firma de índice debe ser 'string' o 'number'.
Respuesta #1
Sí, es posible gracias a una nueva función llamada tipos mapeados. Solo asegúrate de estar usando la versión nocturna del compilador de TypeScript (typescript@next) porque todavía no está en la versión estable (al momento de escribir esto).
type TColorKey = "dark" | "light";
type TColorMap = { [P in TColorKey]: Color };
