TypeScript · Senior · Frage 9 von 75
Was liefert Split<'a/b/c'>?
type Split<S extends string> =
S extends `${infer Head}/${infer Rest}`
? [Head, ...Split<Rest>]
: [S];- 1
['a', 'b', 'c'] - 2
string[](ein allgemeiner Typ) - 3
['a/b/c'](kein Parsen)
Antwort zeigen
Richtige Antwort: ['a', 'b', 'c']
Erklärung
infer in einem Template Literal parst den String: Head fängt den Teil vor dem ersten /, Rest den Rest. Rekursion und variadische Tupel setzen das Ergebnis zusammen. So typisiert man Routenparameter wie /users/:id.