capypad
0 Tage Serie
typescript / intermediate
Snippet

Generics mit keyof-Constraints

Die Verwendung von 'keyof' mit Generics stellt sicher, dass ein Funktionsparameter ein gültiger Schlüssel eines spezifischen Objekts ist, was volle Typsicherheit und IDE-Autovervollständigung bietet.

snippet.ts
typescript
1
2
3
4
5
6
function getProperty<T, K extends keyof T>(obj: T, key: K) {
return obj[key];
}
 
const user = { id: 1, name: "Bob" };
const userName = getProperty(user, "name");
Erklärung
1
K extends keyof T
Beschränkt den generischen Typ K auf Schlüssel, die tatsächlich auf Typ T existieren.
2
obj[key]
TypeScript weiß genau, welchen Typ der Rückgabewert basierend auf dem verwendeten Schlüssel haben wird.
Generics mit keyof-Constraints — Capypad