TypeScript · Senior · Frage 8 von 75

Wie behält man nur die Eigenschaften eines Typs, deren Werte Funktionen sind?

type Methods<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K];
};
Antwort zeigen

Richtige Antwort: Ein auf never umbenannter Schlüssel fällt aus dem Ergebnis

Erklärung

Ergibt der Ausdruck nach as den Typ never, fällt der Schlüssel weg. Das ist die übliche Technik, Schlüssel nach Werttyp zu filtern. Ohne as würde man zuerst die Union der Schlüssel berechnen und dann Pick anwenden.

Zum Weiterlesen

Fehler in der Frage

TypeScript · Senior · Frage 8

Teste dich selbst

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

Diesen Test machen