TypeScript · Senior · Frage 54 von 75
Wie sammelt ein typsicherer Builder Informationen in seinem Typ?
class Query<T extends object = {}> {
where<K extends string, V>(k: K, v: V): Query<T & Record<K, V>> { /* ... */ }
}- 1Jede Methode verändert einen globalen Typ, der für den Builder deklariert ist
- 2Jede Methode liefert einen Builder mit breiterem Typparameter
- 3Er nutzt innen
anyund castet das Ergebnis am Ende
Antwort zeigen
Richtige Antwort: Jede Methode liefert einen Builder mit breiterem Typparameter
Erklärung
Das abschließende .build() kann dann einen genauen Typ liefern, und ungültige Aufrufreihenfolgen lassen sich verhindern.