[英]Why does `keyof any` have type of `string | number | symbol` in typescript?
[英]Why is the keyof this object type number or string?
鑒於:
type EventDefinitions<TEventPayload extends object> = {
[eventName: string]: TEventPayload;
};
type X = keyof EventDefinitions<object>;
為什么X這里的類型是number | string
number | string
? 我希望它只是字符串,因為我明確指出它將是字符串,不是嗎?
如果一個對象可以用任何字符串索引,那么它也可以用任何數字索引,因為該數字將隱式轉換為字符串。 我認為這是合理的,盡管我無法通過一些快速的網絡搜索找到任何文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.