TypeScript · Senior · Pytanie 9 z 75
Co zwraca Split<'a/b/c'>?
type Split<S extends string> =
S extends `${infer Head}/${infer Rest}`
? [Head, ...Split<Rest>]
: [S];- ✓Poprawna odpowiedź:
['a', 'b', 'c'] - 2
string[](typ ogólny) - 3
['a/b/c'](bez parsowania)
Wyjaśnienie
infer wewnątrz template literal parsuje string: Head przechwytuje część przed pierwszym /, Rest - resztę. Rekurencja i variadic tuples składają wynik. Tak typuje się parametry tras typu /users/:id.