为什么此对象的键键入数字或字符串?

时间:2018-09-06 08:33:46

标签: typescript typescript-typings

给出:

type EventDefinitions<TEventPayload extends object> = {
    [eventName: string]: TEventPayload;
  };

type X = keyof EventDefinitions<object>;

为什么number | string处的X类型?我希望它只是字符串,因为我明确指出它将是字符串,不是吗?

1 个答案:

答案 0 :(得分:0)

如果一个对象可以用任何字符串索引,那么它也可以用任何数字索引,因为该数字将隐式转换为字符串。我认为这是合理的,尽管我无法通过一些快速的网络搜索找到任何文档。