,typescript"/>

首页 > 解决方案 > 替代记录

问题描述

如果我有一个字符串值:

type x = 'hello';

我尝试使用它在对象中创建作为键:

type v = {[x: x]: boolean};

我得到这个问题:

索引签名参数类型必须是“字符串”或“数字”。

有没有可能我可以在没有Record<x, boolean>.

标签: typescript

解决方案


两个问题,一个你用x了两次。其次,您希望in作为运算符而不是冒号。

type x = 'hello';

type v = {
    [foo in x]: boolean;
};


推荐阅读