TypeScript · Senior · Frage 12 von 75
Wozu dient das Utility NoInfer<T> (TS 5.4)?
function pick<C extends string>(colors: C[], fallback: NoInfer<C>) {}
pick(['red', 'blue'], 'green');- 1Es macht den Parameter
fallbackoptional mit einem Standardwert - 2Es verhindert, dass
Caus diesem Argument abgeleitet wird - also gibt es einen Fehler - 3Es schaltet die Typinferenz für die ganze Funktion und ihre Argumente ab
Antwort zeigen
Richtige Antwort: Es verhindert, dass C aus diesem Argument abgeleitet wird - also gibt es einen Fehler
Erklärung
Ohne NoInfer würde TS C aus beiden Argumenten als 'red' | 'blue' | 'green' ableiten, und es gäbe keinen Fehler. NoInfer sagt: „Nimm C von anderswo und prüfe dieses Argument nur“.