有没有办法定义一个可以在索引器中用作字符串键的typescript文字类型?
type TColorKey = 'dark' | 'light';
interface ColorMap {
[period: TColorKey]: Color;
}
这会引发错误:An index signature parameter type must be 'string' or 'number'.
答案 0 :(得分:3)
是的,这要归功于一项名为Mapped types的新功能。请确保您使用每晚版本的打字稿编译器(typescript@next
),因为它尚未处于稳定版本中(在我写这篇文章的时候)。
type TColorKey = "dark" | "light";
type TColorMap = { [P in TColorKey]: Color };