0Pricing
TypeScript Academy · Aula

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

  1. Fundamentos dos Tipos Literais de Modelo
  2. Modelando Textos Estruturados
  3. Uniões de Texto e Autocompletar
  4. Tipos Intrínsecos de Manipulação de Texto
← Voltar para TypeScript Academy