Tipos Intrínsecos de Manipulação de Texto
Utilize Uppercase, Lowercase, Capitalize e Uncapitalize.
Tipos Intrínsecos de Manipulação de Texto é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.
Transformadores de texto integrados
TypeScript oferece quatro tipos intrínsecos de manipulação de texto: Uppercase, Lowercase, Capitalize e Uncapitalize. Eles transformam tipos literais de texto durante a compilação, sem custo durante a execução.
Maiúsculas
Uppercase<S> converte cada caractere de um tipo literal de texto para maiúscula. O literal 'hello' torna-se o tipo 'HELLO'.
type Loud = Uppercase<"hello"> // "HELLO"
const x: Loud = "HELLO"
console.log(x)Minúsculas
Lowercase<S> faz o oposto, convertendo cada caractere para minúscula. 'HELLO' torna-se 'hello'.
type Quiet = Lowercase<"HELLO"> // "hello"
const x: Quiet = "hello"
console.log(x)Capitalização
Capitalize<S> converte apenas o primeiro caractere para maiúscula, deixando o restante inalterado. 'name' torna-se 'Name'.
type Title = Capitalize<"name"> // "Name"
const x: Title = "Name"
console.log(x)Descapitalização
Uncapitalize<S> converte apenas o primeiro caractere para minúscula. 'Name' torna-se 'name' — útil para converter chaves em PascalCase para camelCase.
type Camel = Uncapitalize<"Name"> // "name"
const x: Camel = "name"
console.log(x)Transformação de uma união
Aplique um tipo intrínseco a uma união, e ele transformará cada membro. Uppercase de 'a' | 'b' produz 'A' | 'B'.
type Keys = "id" | "name"
type Upper = Uppercase<Keys> // "ID" | "NAME"
const k: Upper = "ID"
console.log(k)Combinação com literais de modelo
Os tipos intrínsecos são mais poderosos dentro de tipos literais de modelo. Um modelo que acrescenta get antes de Capitalize aplicado a um campo cria nomes de acessadores, como o acessador do campo de nome.
type Field = "name" | "age"
// template: get + Capitalize<Field> => "getName" | "getAge"
const g: "getName" | "getAge" = "getName"
console.log(g)Construção de nomes de chaves em tipos mapeados
Dentro do remapeamento de chaves de um tipo mapeado, os tipos intrínsecos geram nomes de propriedades transformados — por exemplo, convertendo cada propriedade em uma chave de manipulador capitalizada.
type Events = "click" | "drag"
// { [E in Events as on + Capitalize<E>]: () => void }
// produces keys onClick and onDrag
const handlers: { onClick: () => void } = { onClick: () => {} }
console.log(typeof handlers.onClick)Encadeamento de tipos intrínsecos
Você pode aninhar tipos intrínsecos para compor transformações — por exemplo, uma combinação comum é aplicar Capitalize a uma cadeia de caracteres convertida por Lowercase para normalizar o uso de maiúsculas e minúsculas.
type Normalized = Capitalize<Lowercase<"hELLO">> // "Hello"
const x: Normalized = "Hello"
console.log(x)Apenas durante a compilação
Esses tipos não existem durante a execução. Para transformar um valor de texto real, você ainda precisa chamar métodos como toUpperCase(); os tipos intrínsecos apenas definem os tipos estáticos.
function shout<S extends string>(s: S): Uppercase<S> {
return s.toUpperCase() as Uppercase<S>
}
console.log(shout("hi")) // HI, typed as "HI"
Usos práticos
Utilize os tipos intrínsecos para derivar nomes de constantes, chaves de eventos, nomes de acessadores e modificadores e para normalizar o uso de maiúsculas e minúsculas em chaves de configuração com tipo literal — tudo verificado pelo compilador.
type Action = "add" | "remove"
type ActionType = Uppercase<Action> // "ADD" | "REMOVE"
const a: ActionType = "ADD"
console.log(a)Verificação rápida
Teste sua compreensão dos tipos intrínsecos de texto.
Recapitulação
Os tipos intrínsecos Uppercase, Lowercase, Capitalize e Uncapitalize transformam tipos literais de texto durante a compilação, distribuem-se pelas uniões e podem ser compostos com tipos literais de modelo e tipos mapeados para criar nomes de chaves e manipuladores. Eles não têm comportamento durante a execução — utilize métodos reais de texto para transformações durante a execução, enquanto esses tipos definem os tipos estáticos.
Perguntas Frequentes
A aula “Tipos Intrínsecos de Manipulação de Texto” é grátis?
Sim — o texto completo de “Tipos Intrínsecos de Manipulação de Texto” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.
O que vou aprender em “Tipos Intrínsecos de Manipulação de Texto”?
Utilize Uppercase, Lowercase, Capitalize e Uncapitalize. Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Tipos Intrínsecos de Manipulação de Texto”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Fundamentos dos Tipos Literais de Modelo
- Modelando Textos Estruturados
- Uniões de Texto e Autocompletar
- Tipos Intrínsecos de Manipulação de Texto