Fácil JavaScript

Crie uma função de saudação

Enunciado

Escreva uma função chamada saudacao que recebe um nome e retorna "Olá, [nome]!". Se o nome não for fornecido, use "Visitante" como padrão.

Requisitos

  • A função deve se chamar saudacao.
  • Deve usar parâmetro padrão para o caso de nome não fornecido.
  • Deve retornar a string no formato Olá, [nome]!.
  • Deve funcionar tanto com argumento quanto sem.

Código inicial

// Crie a função saudacao aqui

Saída esperada

Olá, Visitante!
Olá, Maria!
Ver dica

Use function saudacao(nome = 'Visitante') { ... } e template literals para montar a string.

Mostrar solução
// Função com parâmetro padrão
function saudacao(nome = 'Visitante') {
  return `Olá, ${nome}!`;
}

console.log(saudacao());        // Olá, Visitante!
console.log(saudacao('Maria')); // Olá, Maria!

Passo a passo

  1. Declaramos a função saudacao usando a palavra-chave function.
  2. O parâmetro nome recebe o valor padrão 'Visitante' através do operador =.
  3. Dentro da função, usamos template literal (crase) para interpolar a variável nome na string.
  4. A função retorna a string formatada com return.
  5. Chamamos saudacao() sem argumento: o padrão é usado.
  6. Chamamos saudacao('Maria'): o argumento substitui o padrão.

Por que funciona

O parâmetro padrão é aplicado sempre que o argumento correspondente é undefined (ou omitido). Isso evita erros e torna a função mais flexível. A interpolação com template literals facilita a montagem da mensagem.

Erros comuns

  • Esquecer o return: a função retornaria undefined em vez da string.
    function saudacao(nome = 'Visitante') {
      `Olá, ${nome}!`; // sem return
    }
    
    Corrija adicionando return antes da template literal.
  • Usar aspas simples e não interpolar: 'Olá, nome!' não substitui a variável. Use crases ou concatenação.
  • Definir o padrão como null: null não aciona o valor padrão; apenas undefined aciona. Se quiser que null também use o padrão, verifique explicitamente.

Outra forma de resolver

Usando arrow function e operador ||:

const saudacao = (nome) => `Olá, ${nome || 'Visitante'}!`;

Mas atenção: || considera '' (string vazia) como falso, então o padrão seria aplicado. O parâmetro padrão é mais preciso.

Saída esperada

Olá, Visitante!
Olá, Maria!