Médio JavaScript

Transformando e verificando strings

Enunciado

Crie uma função processarTexto(texto) que:

  • Remove espaços extras no início e no fim.
  • Converte para letras maiúsculas.
  • Verifica se contém a palavra "JAVASCRIPT".
  • Retorna uma string no formato: "Texto: [texto_processado] | Contém 'JAVASCRIPT': [true/false]". Use template literals para montar o retorno.

Requisitos

  • Usar trim() e toUpperCase().
  • Usar includes('JAVASCRIPT').
  • Retornar string formatada com template literal.
  • Não modificar a string original (imutabilidade).

Código inicial

function processarTexto(texto) {
  // Seu código aqui
}

console.log(processarTexto("  aprendendo javascript  "));

Saída esperada

Texto: APRENDENDO JAVASCRIPT | Contém 'JAVASCRIPT': true
Ver dica

Encadeie os métodos: texto.trim().toUpperCase(). Lembre-se de que cada método retorna uma nova string.

Mostrar solução
function processarTexto(texto) {
  const limpo = texto.trim();
  const maiusculo = limpo.toUpperCase();
  const contem = maiusculo.includes('JAVASCRIPT');
  return `Texto: ${maiusculo} | Contém 'JAVASCRIPT': ${contem}`;
}

console.log(processarTexto("  aprendendo javascript  "));

Passo a passo

  1. texto.trim() remove espaços do início e fim, retornando nova string.
  2. limpo.toUpperCase() converte para maiúsculas, também retornando nova string.
  3. maiusculo.includes('JAVASCRIPT') verifica se a substring existe, retornando booleano.
  4. O template literal monta a saída interpolando maiusculo e contem.
  5. A string original texto permanece inalterada durante todo o processo.

Por que funciona

Cada método de string retorna um novo valor; encadeá-los ou armazená-los em variáveis permite compor transformações sem efeitos colaterais. O template literal formata o resultado final de forma clara.

Erros comuns

  • Tentar modificar a string original: texto.trim() não altera texto; é preciso atribuir.
  • Esquecer de converter para maiúsculas antes de verificar: includes('JAVASCRIPT') falharia se o texto tivesse minúsculas.
  • Usar indexOf em vez de includes e comparar com -1 (funciona, mas includes é mais direto).

Outra forma de resolver

Usar indexOf:

const contem = maiusculo.indexOf('JAVASCRIPT') !== -1;

Mas includes é mais legível.

Saída esperada

Texto: APRENDENDO JAVASCRIPT | Contém 'JAVASCRIPT': true