typescript - Varför ändras typen i denna enkla map?
Varför ändrar denna händelselösa karta typen på arrayen?
Jag gör en mer komplicerad karta än denna men målet är att hålla typen densamma genom kartan.
const x: type1[] | type2[]=[]; // x has type type1[] | type2[]
const y = x.map(item=>item); // y has type (type1 | type2)[]
Jag använder TypeScript 4.3.5.
Svar #1
Detta är signaturen för Array<T>#map:
map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];
T här antas vara type1 | type2, och U antas vara samma som T. Sedan returnerar metoden U[] vilket är (type1 | type2)[].
