TypeScript · Senior · Frage 11 von 75
Was bringt der Modifikator const an einem Typparameter (TS 5.0)?
function routes<const T extends readonly string[]>(r: T) { return r; }
const r = routes(['home', 'about']);- 1Ein Verbot, das Argument zur Laufzeit in der Funktion zu ändern
- 2
Tlässt sich beim Aufruf nicht durch ein explizites Argument ersetzen - 3Inferenz von Literalen wie bei
as const:ristreadonly ['home', 'about']
Antwort zeigen
Richtige Antwort: Inferenz von Literalen wie bei as const: r ist readonly ['home', 'about']
Erklärung
Ohne const würde string[] abgeleitet, und der Aufrufer müsste as const schreiben. Der Modifikator wirkt nur auf die Typinferenz, nicht auf die Laufzeit. Die Einschränkung readonly string[] ist nötig, damit ein Array-Literal als schreibgeschütztes Tupel passt.