0Pricing
TypeScript Academy · Aula

Parâmetros opcionais e padrão

Trate argumentos ausentes com ? e valores padrão

Parâmetros opcionais e padrão é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 2 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

O TypeScript permite marcar parâmetros de funções como opcionais com `?` ou atribuir-lhes valores padrão. Isso torna as APIs flexíveis sem perder a segurança de tipos.

Parâmetros opcionais com ?

Adicione `?` após o nome de um parâmetro para torná-lo opcional. O tipo do parâmetro se torna T | undefined dentro da função.
function greet(name: string, greeting?: string): string {
  return (greeting ?? 'Hello') + ', ' + name;
}

Valores padrão de parâmetros

Atribua um valor padrão com `=`. O TypeScript infere o tipo a partir do valor padrão, e o parâmetro se torna opcional no ponto de chamada.
function greet(name: string, greeting: string = 'Hello'): string {
  return greeting + ', ' + name;
}
greet('Alice');         // 'Hello, Alice'
greet('Bob', 'Hi');    // 'Hi, Bob'

Opcional versus padrão

`?` opcional produz undefined quando o argumento é omitido. Os valores padrão substituem undefined por uma alternativa. Ambos tornam o parâmetro não obrigatório no ponto de chamada.
function opt(x?: number) { return x; }     // x: number | undefined
function def(x: number = 0) { return x; }  // x: number

Regras de posicionamento

Os parâmetros opcionais e padrão devem vir depois dos parâmetros obrigatórios na assinatura da função.
// Correct order
function create(name: string, role: string = 'user', active?: boolean) {}

// Error: required after optional
// function bad(x?: string, y: string) {}

Chamando explicitamente com undefined

Você pode passar `undefined` para um parâmetro com valor padrão para acionar o valor padrão.
function log(msg: string, level: string = 'info') { console.log(level, msg); }
log('test', undefined); // level is 'info'

Parâmetros opcionais e sobrecargas

Às vezes, é mais claro usar sobrecargas em vez de parâmetros opcionais, especialmente quando o comportamento da função muda significativamente com base na presença do parâmetro.

Parâmetros padrão de objetos

Você pode desestruturar um parâmetro de objeto com valores padrão para cada propriedade.
function connect({ host = 'localhost', port = 5432 } = {}) {
  return `${host}:${port}`;
}

Parâmetros padrão de matrizes

Os parâmetros padrão de matrizes funcionam da mesma maneira. Forneça uma matriz vazia como padrão para evitar verificações de undefined.
function joinAll(parts: string[], sep: string = ', '): string {
  return parts.join(sep);
}

Encadeamento opcional nos pontos de chamada

Se a própria referência da função for opcional, use o encadeamento opcional `?.()` para chamá-la somente quando ela existir.
interface Config { onReady?: () => void; }
function init(config: Config) {
  config.onReady?.();
}

Tipo dos parâmetros opcionais dentro da função

Dentro da função, um parâmetro opcional `x?: T` tem o tipo `T | undefined`. Você precisa restringir o tipo antes de usá-lo como T.
function process(id?: number) {
  if (id === undefined) return;
  console.log(id * 2); // id is number here
}

Verificação rápida

Qual é o tipo de um parâmetro declarado como `count?: number` dentro do corpo da função?

Recapitulação

Use `?` para parâmetros opcionais e `= value` para valores padrão. Os parâmetros opcionais são T | undefined dentro da função. Os valores padrão substituem undefined automaticamente. Ambos devem vir depois dos parâmetros obrigatórios.

Perguntas Frequentes

A aula “Parâmetros opcionais e padrão” é grátis?

Sim — o texto completo de “Parâmetros opcionais e 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 opcionais e padrão”?

Trate argumentos ausentes com ? e valores padrão 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 2 de 4.

Quanto tempo leva a aula “Parâmetros opcionais e 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. Anotações de tipos de parâmetros e retornos
  2. Parâmetros opcionais e padrão
  3. Parâmetros rest e spread com tipos
  4. void, never e assinaturas de funções
← Voltar para TypeScript Academy