TypeScript · Senior · Frage 69 von 75

Wie typisiert man eine Funktion, die die genauen Schlüssel eines übergebenen Objekts behält und die Werte umwandelt?

function mapValues<T extends object, R>(obj: T, fn: (v: T[keyof T]) => R): { [K in keyof T]: R } { /* ... */ }
Antwort zeigen

Richtige Antwort: Ein Mapped Type über keyof T im Rückgabetyp

Erklärung

Aufrufer behalten die Autovervollständigung und die Prüfung auf Tippfehler bei Schlüsseln. Beachte, dass Object.entries innen trotzdem die Schlüsseltypen verliert und einen Cast braucht.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 69

Teste dich selbst

Mach den Test TypeScript · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen