Teksty
Lowercase
Zamienia literalny typ tekstowy na małe litery.
Czym jest
Lustro `Uppercase` i tak samo `intrinsic`. Najczęstsze prawdziwe zastosowanie to nie przekształcanie, lecz porównanie: zestawienie go z `Uppercase` to sposób, by w ogóle zapytać, czy znak jest literą.
Przykłady
Lowercase<'HELLO'>→"hello"Lowercase<'MiXeD'>→"mixed"Uppercase<'7'> extends Lowercase<'7'> ? true : false
→true
Każdy rozwinięty typ powyżej wypisał TypeScript 5.9.3, nie ręka człowieka.
Czego nie robi
- Samo z siebie nie mówi, że znak jest literą. `Lowercase<"7">` to `"7"`, a dopiero porównanie z `Uppercase` ujawnia, że nie było czego zmieniać.
- Nie rozdziela się po szablonie tak, jak można by liczyć. Zastosowane do całego tekstu zmniejsza wszystko, a nie pierwszy znak.
Wniosek
`Uppercase<C> extends Lowercase<C>` jest prawdą dokładnie wtedy, gdy `C` nie ma wielkości — to najczystszy test na literę, jaki oferuje system typów.