type A = {[x:string]:string} type B = keyof A // string | number // ^?
const A:A = {a:"abc",[1]:"xyz"}
type C = keyof A & string // string // ^?
Սովորաբար դա որևէ խնդիր չի առաջացնի, քանի որ javascript-ում թվային ստեղնը կպարտադրվի լարային ստեղնի մեջ
սակայն դա կարող է խնդիր առաջացնել, եթե մենք ինչ-որ տեսակի մանիպուլյացիա ենք անում
Սա լուծելու համար մենք կարող ենք այն հատել տողի հետ կամ ts կոնֆիգուրայում սահմանել keyofStringsOnly
-ը true
կամ պարզապես օգտագործեք Record<string, T>
կամ{[x in string]: T}
սա աշխատանք է, ինչպես սպասվում էր
ավելին github PR-ի և Release Note-ի մասին