Apoio Especializado - Tecnologia da Informação - Desenvolvimento de Sistemas
No contexto do JavaScript, analise a função a seguir.A expressãoretorna:
AABCDEF AE AAA
BABCDEFAEAAA
CABCDEFXE
DXBCDEF AE
EXBCDEF XE
Revelar gabarito e comentário▾
GabaritoD — XBCDEF AE
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
JavaScript: métodos de string (replace, slice, trim)
Gabarito: letra D. A função substitui a primeira ocorrência de "A" por "X" (método replace), depois extrai uma parte da string com slice() e, por fim, aplica trim() para remover espaços nas bordas — o resultado final é "XBCDEF AE". A alternativa D reproduz exatamente essa sequência de transformações.
A questão cobra o domínio de três métodos nativos de string em JavaScript: replace(), slice() e trim(). Vamos entender cada um deles antes de analisar as alternativas.
replace(procurado, substituição) — substitui a primeira ocorrência do valor procurado pelo valor de substituição. É importante notar que, sem o uso de expressão regular com a flag global (/g), apenas a primeira correspondência é alterada. No caso da função, a string original é "ABCDEF AE AAA". A primeira ocorrência de "A" está no índice 0, então ela é substituída por "X", resultando em "XBCDEF AE AAA".
slice(início, fim) — extrai uma parte da string, do índice início (inclusivo) até o índice fim (exclusivo). Se o segundo parâmetro for omitido, vai até o final. Na função, o slice extrai do índice 0 até o índice 8 (exclusivo), ou seja, os 8 primeiros caracteres: "XBCDEF AE". Repare que o espaço entre "AE" e "AAA" está no índice 8, então ele fica de fora.
trim() — remove espaços em branco (e outros caracteres de espaço) de ambas as extremidades da string. Como a string "XBCDEF AE" não tem espaços no início nem no fim, o trim() não altera nada. O resultado final é "XBCDEF AE".
A pegadinha clássica aqui é esquecer que replace só substitui a primeira ocorrência, e que slice tem o índice final exclusivo. Muitos candidatos marcam a alternativa E ("XBCDEF XE") por pensarem que o replace substitui todas as ocorrências de "A", ou que o slice inclui o índice final. Vamos analisar cada alternativa.
1replace("A", "X")
2slice(0, 8)
3trim()
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
A alternativa A ("ABCDEF AE AAA") representa a string original, sem nenhuma transformação. Isso seria o resultado se a função não tivesse sido chamada, mas a função f() executa replace, slice e trim. Portanto, está incorreta.
Alternativa B — ❌ Incorreta
A alternativa B ("ABCDEFAEAAA") é a string original sem os espaços. Isso seria o resultado se apenas o trim() fosse aplicado (removendo espaços das bordas), mas não remove espaços internos. Como a função também aplica replace e slice, o resultado não é esse. Está incorreta.
Alternativa C — ❌ Incorreta
A alternativa C ("ABCDEFXE") é o resultado de aplicar replace (substituindo o primeiro "A" por "X") e depois slice de 0 a 8, mas sem incluir o espaço. Na verdade, o slice(0, 8) inclui o espaço, resultando em "XBCDEF AE". A alternativa C omite o espaço, então está incorreta.
Alternativa D — ✅ Correta ⟵ GABARITO
A alternativa D ("XBCDEF AE") é exatamente o resultado da sequência: replace("A", "X") → "XBCDEF AE AAA", depois slice(0, 8) → "XBCDEF AE", e trim() → "XBCDEF AE" (sem mudança). A alternativa D está correta.
Alternativa E — ❌ Incorreta
A alternativa E ("XBCDEF XE") é o resultado de substituir todas as ocorrências de "A" por "X" (como se usasse /g), e depois aplicar slice de forma incorreta. Na verdade, o replace sem /g só substitui a primeira ocorrência, e o slice(0, 8) resulta em "XBCDEF AE", não "XBCDEF XE". Está incorreta.
PEGA ESSA DICA!
Para resolver questões de manipulação de strings em JavaScript, execute cada método passo a passo, anotando o resultado intermediário. Lembre-se: replace sem /g substitui apenas a primeira ocorrência; slice tem o índice final exclusivo; trim remove espaços apenas nas bordas. Com treino, você enxerga essas transformações de longe 💪