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()etoUpperCase(). - 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
texto.trim()remove espaços do início e fim, retornando nova string.limpo.toUpperCase()converte para maiúsculas, também retornando nova string.maiusculo.includes('JAVASCRIPT')verifica se a substring existe, retornando booleano.- O template literal monta a saída interpolando
maiusculoecontem. - A string original
textopermanece 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 alteratexto; é preciso atribuir. - Esquecer de converter para maiúsculas antes de verificar:
includes('JAVASCRIPT')falharia se o texto tivesse minúsculas. - Usar
indexOfem vez deincludese comparar com-1(funciona, masincludesé 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