Zpátky na blog

Typescript: typy pro manipulaci s řetězci

29. 4. 2022 | Václav Kandus​, Cleverlance

Pojďme se tentokrát seznámit s vestavěnými typy, které nám usnadní práci s řetězci / proměnnými, a mohou být použity v šablonách (tzv. template string literals).

Které typy to jsou?

  • Uppercase<StringType> - transformuje vstupní řetězec do řetězce s pouze velkými písmeny
  • Lowercase<StringType>- transformuje vstupní řetězec do řetězce s pouze malými písmeny
  • Capitalize<StringType> - transformuje vstupní řetězec do řetězce s prvním znakem psaným velkým písmem
  • Uncapitalize<StringType> - transformuje vstupní řetězec do řetězce s prvním znakem psaným malým písmenem

Každý z typů přijímá jeden parametr typu string. Pokud se pokusíme předat parametr jiného typu, pak dostaneme chybovou zprávu, upozorňující nás na porušení daného omezení.

Výše zmíněné typy jsou z výkonnostních důvodů poskytovány TypeScriptovým kompilátorem a nejsou definovány v TypeScriptovém .d.ts souboru. Implementace těchto typů využívá přímo JavaScriptové funkce pro manipulaci s řetězci a nebere v potaz locale běhového prostředí (je to soubor parametrů, které definují uživatelův jazyk, stát a jiné zvláštnosti, které se následně projeví v uživatelském rozhraní). Implementace v TypeScriptu 4.1 vypadá následovně:

Uppercase<StringType>

Transformuje vstupní řetězec do řetězce pouze s velkými písmeny.

Mějme typový alias PointsOfTheCompass, jehož definice je následující

Výsledkem následujícího př​​iřazení

je typový alias se všemi položkami psanými velkými písmeny.​

Lowercase<StringType>

Mějme typový alias PointsOfTheCompass, jehož definice je následující

Výsledkem následujícího přiřazení

je typový alias se všemi položkami psanými malými písmeny.

Capitalize<StringType>

Mějme typový alias PointsOfTheCompass, jehož definice je následující

Výsledkem následujícího přiřazení

je typový alias, kde každá položka má první písmeno psáno velkým písmenem

Uncapitalize<StringType>

Mějme typový alias PointsOfTheCompass, jehož definice je následující

A výsledkem následujícího přiřazení

je typový alias, kde každá položka má první písmeno psáno malým písmenem

Použití

Nejčastější použití nalezneme spolu s template literal type. Mějme typový alias Point, jehož definice je následující

Výsledkem následujícího přiřazení

pak je

pokud náš příklad rozvineme dále a aplikujeme spolu s template literal type, pak můžeme například generovat další typ

kde jako výsledek dostáváme

pokud tento přístup následně nakombinujeme i s mapováním

pak dostaneme následující typový alias

Závěrem

Výše jsme představili typy, které můžeme použít pro manipulaci s řetězci a způsob, jakým je můžeme použít spolu s template string literals a jaké výhody nám to přináší. A na co se můžete těšit příště? 

Typy, jako jsou Readonly<Type> ; Record<Keys, Type> ; Pick<Type, Keys> a Omit<Type, Keys>

Zajímáte se o Typescript? Skvělé, máme tady pro vás další témata: 

Efektivní Typescript

Typescript: <Required>

Otevřené pozice v Cleverlance
Sdílet
Odebírat