0Pricing
TypeScript Academy · Aula

Tipos keyof/de acesso indexado (introdução)

Use keyof para criar uniões de nomes de propriedades e tipos de acesso indexado (T[K] / T["prop"]) para ler tipos de propriedades com segurança.

Tipos keyof/de acesso indexado (introdução) é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 3 de 3. 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 3 aulas no total.

Introdução

Objetivo: criar funções auxiliares mais seguras usando keyof, que produz uniões de nomes de propriedades, e acesso indexado (T[K]) para ler tipos de propriedades.

keyof

keyof produz uma união dos nomes de propriedades de um tipo, como "id" | "name" | "email".

interface User {
  id: number;
  name: string;
  email?: string;
}

type UserKeys = keyof User;  // "id" | "name" | "email"

keyof typeof

Use keyof typeof para obter as chaves de um valor, ou objeto, ao tipar parâmetros.

const SETTINGS = {
  theme: "dark",
  lang: "en",
} as const;

type SettingKey = keyof typeof SETTINGS; // "theme" | "lang"

Acesso indexado

O acesso indexado retorna o tipo de uma propriedade: User["name"] é string.

interface User {
  id: number;
  name: string;
  email?: string;
}

type NameType = User["name"]; // string

Função auxiliar getProperty

Combine keyof com K extends keyof T para restringir as chaves e retornar o tipo preciso T[K].

function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
  return obj[key];
}

const u = { id: 1, name: "Ada" };
const v1 = getProperty(u, "name"); // string
const v2 = getProperty(u, "id");   // number
console.log(v1.toUpperCase(), v2.toFixed(0));

Dicas

Dicas:

  • Prefira keyof typeof para obter chaves de objetos.
  • Use T[K] para refletir os tipos de propriedades sem duplicar modelos.
  • Evite chaves baseadas em strings; prefira uniões para obter segurança.

Verificação de acesso indexado

Verificação rápida: o que T[K] representa?

Recapitulação

Recapitulação: keyof fornece uniões de chaves; keyof typeof deriva chaves de valores; T[K] lê tipos de propriedades — perfeito para funções auxiliares seguras.

Perguntas Frequentes

A aula “Tipos keyof/de acesso indexado (introdução)” é grátis?

Sim — o texto completo de “Tipos keyof/de acesso indexado (introdução)” é 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 3 aulas no total.

O que vou aprender em “Tipos keyof/de acesso indexado (introdução)”?

Use keyof para criar uniões de nomes de propriedades e tipos de acesso indexado (T[K] / T["prop"]) para ler tipos de propriedades com segurança. 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 3 de 3.

Quanto tempo leva a aula “Tipos keyof/de acesso indexado (introdução)”?

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. Funções genéricas e restrições (extends, parâmetros padrão)
  2. Partial, Readonly, Record, Pick, Omit
  3. Tipos keyof/de acesso indexado (introdução)
← Voltar para TypeScript Academy