TypeScript Academy · Aula

Parâmetros de tipo padrão

Forneça tipos alternativos quando nenhum argumento for informado

Aula 4 de 413 etapas

Parâmetros de tipo padrão é 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.

Boas-vindas

Os parâmetros de tipo padrão fornecem um tipo alternativo quando quem chama não especifica um argumento de tipo. Eles tornam as APIs genéricas mais práticas.

Sintaxe de tipo padrão

Adicione `= DefaultType` depois do nome do parâmetro de tipo para definir um padrão.
interface Container<T = string> {
  value: T;
}
const c: Container = { value: 'hello' }; // T defaults to string
const n: Container<number> = { value: 42 };

Padrões em funções genéricas

Os parâmetros de tipo de funções também podem ter padrões, embora isso seja menos comum porque o TypeScript normalmente infere o tipo.
function createList<T = string>(): T[] { return []; }
const list = createList(); // T is string by default

Padrões com restrições

Um parâmetro de tipo pode ter tanto uma restrição quanto um padrão. O padrão deve satisfazer a restrição.
interface Event<T extends object = Record<string, unknown>> {
  type: string;
  payload: T;
}

Padrões em componentes semelhantes aos do React

Os parâmetros de tipo padrão são comuns em genéricos de bibliotecas de interface do usuário para as propriedades dos componentes.
interface SelectProps<T = string> {
  options: T[];
  value: T;
  onChange: (val: T) => void;
}

Vários padrões

Vários parâmetros de tipo podem ter seus próprios padrões.
type Pair<A = string, B = number> = { first: A; second: B };
const p: Pair = { first: 'hello', second: 42 }; // A=string, B=number

Parâmetros de tipo finais também precisam de padrões

Se quiser usar um padrão para um parâmetro de tipo posterior, todos os parâmetros anteriores sem padrões deverão ser especificados.
type Map<K = string, V = unknown> = Record<K extends string ? K : string, V>;
const m: Map = {}; // K=string, V=unknown by default

Quando o TypeScript ignora o padrão

Se o TypeScript puder inferir o argumento de tipo a partir do contexto, usará o tipo inferido mesmo que um padrão tenha sido fornecido.
function wrap<T = string>(val: T): T { return val; }
const n = wrap(42); // T is number, not string (inferred)

Substituições explícitas

Fornecer um argumento de tipo explícito sempre substitui o padrão.
interface Box<T = string> { item: T; }
const numBox: Box<number> = { item: 100 }; // T explicitly number

Padrões em genéricos de classes

As classes genéricas também podem ter parâmetros de tipo padrão.
class Stack<T = unknown> {
  private items: T[] = [];
  push(item: T) { this.items.push(item); }
  pop(): T | undefined { return this.items.pop(); }
}

Os padrões facilitam o uso de bibliotecas genéricas

Os autores de bibliotecas usam parâmetros de tipo padrão para reduzir o código repetitivo que quem chama precisa escrever em casos de uso comuns.

Verificação rápida

Dada a `interface Box`, qual é o tipo de `.value` em `const b: Box = { value: 99 }`?

Recapitulação

Os parâmetros de tipo padrão (T = DefaultType) fornecem tipos alternativos quando quem chama não especifica um. Eles são mais úteis em interfaces, definições de classes e APIs de bibliotecas para reduzir o código repetitivo de quem chama.
Grátis para começar

Aprenda TypeScript com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
101
Aulas
352

Perguntas Frequentes

A aula “Parâmetros de tipo padrão” é grátis?

Sim — o texto completo de “Parâmetros de tipo padrã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 4 aulas no total.

O que vou aprender em “Parâmetros de tipo padrão”?

Forneça tipos alternativos quando nenhum argumento for informado 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 “Parâmetros de tipo padrã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: parâmetros de tipo
  2. Interfaces genéricas e aliases de tipos
  3. Restrições genéricas com extends
  4. Parâmetros de tipo padrão
← Voltar para TypeScript Academy