Przejdź do treści
webtype.orgwebtype.org

    ↑↓ ruch · ⏎ otwórz · esc zamknij

    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.