Typescript文字类型用作索引器的键

时间:2016-11-21 17:16:37

标签: typescript

有没有办法定义一个可以在索引器中用作字符串键的typescript文字类型?

type TColorKey = 'dark' | 'light';

interface ColorMap {
    [period: TColorKey]: Color;
}

这会引发错误:An index signature parameter type must be 'string' or 'number'.

1 个答案:

答案 0 :(得分:3)

是的,这要归功于一项名为Mapped types的新功能。请确保您使用每晚版本的打字稿编译器(typescript@next),因为它尚未处于稳定版本中(在我写这篇文章的时候)。

type TColorKey = "dark" | "light";

type TColorMap = { [P in TColorKey]: Color };