Teksty
Uppercase
Zamienia literalny typ tekstowy na wielkie litery.
Czym jest
Przeczytaj definicję: to intrinsic. Nie ma TypeScriptu, który to implementuje — kompilator rozpoznaje nazwę i wykonuje pracę wewnętrznie, dlatego nie napiszesz własnego i dlatego nic nie kosztuje przy dowolnej długości. To samo dotyczy Lowercase, Capitalize i Uncapitalize.
Przykłady
Uppercase<'hello'>→"HELLO"Uppercase<'a1!'>→"A1!"Znaki bez formy wielkiej przechodzą nietknięte — i to właśnie sprawia, że naiwny test wielkości źle klasyfikuje każdą cyfrę.
Uppercase<string>→Uppercase<string>
Każdy rozwinięty typ powyżej wypisał TypeScript 6.0.3, nie ręka człowieka.
Czego nie robi
- Nie rozwiązuje się dla nie-literału.
Uppercase<string>pozostaje odroczone, bo nie ma jednej odpowiedzi do udzielenia. - Nie stosuje reguł lokalnych. To nie
toLocaleUpperCase, a tureckie bezkropkowe i nie jest obsługiwane tak, jak zrobiłby to runtime.
Wniosek
Wielkość znaku to dwa testy, nie jeden: równy swojej formie wielkiej *i* różny od małej. Cokolwiek oparte na jednym porównaniu źle klasyfikuje cyfry i symbole.

