Fácil TypeScript

Função de saudação com parâmetro padrão

Enunciado

Crie uma função saudar que recebe um nome e uma saudação opcional (padrão "Olá"). A função deve retornar uma string no formato "<saudação>, <nome>!".

Requisitos

  • A função deve ter parâmetro nome: string e saudacao: string = "Olá".
  • O retorno deve ser tipado como string.
  • Deve funcionar tanto com um quanto com dois argumentos.

Código inicial

function saudar(nome: string, saudacao: string = "Olá"): string {
  // Seu código aqui
}

Saída esperada

Olá, Maria!
Oi, João!
Ver dica

Use template strings para montar a mensagem.

Mostrar solução
function saudar(nome: string, saudacao: string = "Olá"): string {
  return `${saudacao}, ${nome}!`;
}

console.log(saudar("Maria"));
console.log(saudar("João", "Oi"));

Passo a passo

  1. Declaramos a função saudar com dois parâmetros: nome (obrigatório) e saudacao (opcional, com valor padrão "Olá").
  2. O tipo de retorno é anotado como string.
  3. Dentro da função, usamos template string para interpolar os valores e formar a mensagem.
  4. Chamamos a função com um argumento (usa o padrão) e com dois argumentos (sobrescreve o padrão).
  5. Exibimos os resultados no console.

Por que funciona

O parâmetro com valor padrão é automaticamente opcional. Se não for fornecido, o valor padrão é usado. A anotação de tipo garante que apenas strings sejam passadas e que o retorno seja string.

Erros comuns

  • Esquecer o valor padrão: function saudar(nome: string, saudacao: string): string – se chamar com um argumento, o compilador acusa erro.
  • Tentar passar número como nome: saudar(123) – erro de tipo.
  • Não anotar o retorno: funciona, mas perde a checagem de que a função sempre retorna string.

Outra forma de resolver

Usar parâmetro opcional com ? e verificar dentro da função:

function saudar(nome: string, saudacao?: string): string {
  return `${saudacao ?? "Olá"}, ${nome}!`;
}

Saída esperada

Olá, Maria!
Oi, João!