Questão nº 46

Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 46)

FGV2024Analista Judiciário - TI - Desenvolvimento de SistemasTecnologia da Informação
Gabarito: Dver comentário ↓

No contexto do JavaScript, analise a função a seguir.

```
function f(t) {
return t.replace("A","X").slice(1, 10).trim();
}
```

A expressão

```
f(" ABCDEF AE AAA ")
```

retorna:

Resposta comentada

Gabarito Alternativa D

Em JavaScript, métodos de string podem ser encadeados, e cada método opera sobre o resultado do método anterior. É crucial entender a funcionalidade exata de cada método, especialmente replace() que, sem uma expressão regular global, substitui apenas a primeira ocorrência.

  • (A) Incorreta: Esta alternativa ignora a substituição do 'A' por 'X', o corte da string (slice) e a remoção de espaços (trim).
  • (B) Incorreta: Esta alternativa ignora a substituição do 'A' por 'X' e o corte da string, além de remover todos os espaços, o que não é feito por trim().
  • (C) Incorreta: Esta alternativa não corresponde ao resultado de nenhuma das operações na ordem correta.
  • (D) Correta: A execução passo a passo é:
    1. t.replace("A","X"): A string original " ABCDEF AE AAA " tem o primeiro 'A' (na posição 1) substituído por 'X'. O resultado é " XBCDEF AE AAA ".
    2. .slice(1, 10): Este método extrai caracteres do índice 1 (inclusive) até o índice 10 (exclusivo) da string resultante.
      • String: " XBCDEF AE AAA "
      • Índices: 0123456789...
      • Caracteres: XBCDEF AE ...
      • O slice(1, 10) resulta em "XBCDEF AE".
    3. .trim(): Remove espaços em branco do início e do fim da string. A string "XBCDEF AE" não possui espaços em branco nas extremidades, então permanece inalterada.
      O resultado final é "XBCDEF AE".
  • (E) Incorreta: Esta é a alternativa mais tentadora. A armadilha aqui é pensar que replace("A","X") substitui todas as ocorrências de 'A' por 'X'. Se isso acontecesse, a string se tornaria " XBCDEF XE XXX ". Aplicando .slice(1, 10) a essa string, obteríamos "XBCDEF XE", e .trim() não alteraria. No entanto, em JavaScript, String.prototype.replace() sem uma expressão regular com a flag /g (global) substitui apenas a primeira ocorrência encontrada.

Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho