给出:
type EventDefinitions<TEventPayload extends object> = {
[eventName: string]: TEventPayload;
};
type X = keyof EventDefinitions<object>;
为什么number | string
处的X类型?我希望它只是字符串,因为我明确指出它将是字符串,不是吗?
答案 0 :(得分:0)
如果一个对象可以用任何字符串索引,那么它也可以用任何数字索引,因为该数字将隐式转换为字符串。我认为这是合理的,尽管我无法通过一些快速的网络搜索找到任何文档。