TypeScript · Middle · Frage 28 von 75
Wie benennt man Schlüssel in einem Mapped Type um?
type Getters<T> = {
[K in keyof T as `get${Capitalize<string & K>}`]: () => T[K];
};- 1Mit
asnachin, mit einem Template Literal - 2Gar nicht - Schlüssel bleiben in einem Mapped Type immer gleich
- 3Mit einer Funktion
rename()aus der Standard-Typbibliothek
Antwort zeigen
Richtige Antwort: Mit as nach in, mit einem Template Literal
Erklärung
Key Remapping (TS 4.1+): Getters<{ name: string }> → { getName: () => string }. Ergibt der Ausdruck nach as den Typ never, fällt der Schlüssel weg - so filtert man Eigenschaften nach Werttyp. string & K ist nötig, weil Schlüssel Symbole oder Zahlen sein können.