Questão nº 52
Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 52)
FGV2024Analista Judiciário - Análise de Sistemas de InformaçãoTecnologia da Informação
Gabarito: Bver comentário ↓
Considere o seguinte código em JavaScript:
```
const array = ["T", "R", "F", 1]
array.splice(0, 0, '>')
console.log(array.filter(v=>!!v))
```
Ao ser executado, o código acima exibirá na saída do console:
- Aum erro de violação de constante;
- Bo array [">", "T", "R", "F", 1]; (alternativa correta)
- Co array ["T", "R", "F", 1];
- Dum erro de sintaxe;
- Eo array [].
Resposta comentada
Gabarito Alternativa B
O método splice() de arrays em JavaScript serve para adicionar ou remover elementos, e ele modifica o array original. Já o método filter() cria um novo array com os elementos que passam em um teste, sem alterar o array original.
- (A) Incorreta: A declaração
constpara um array impede que a variávelarrayseja reatribuída para outro array, mas não impede que o conteúdo do array original seja modificado por métodos comosplice(). Arrays são objetos mutáveis. - (B) Correta: Inicialmente,
arrayé["T", "R", "F", 1]. A linhaarray.splice(0, 0, '>')insere o caractere>na posição 0 (primeiro argumento0), sem remover nenhum elemento (segundo argumento0). Isso modifica o array para[">", "T", "R", "F", 1]. Em seguida,array.filter(v=>!!v)cria um novo array com os elementos que são "truthy" (não falsos). Todos os elementos">","T","R","F",1são "truthy", então ofilterretorna o array completo[">", "T", "R", "F", 1]. - (C) Incorreta: Esta alternativa ignora completamente o efeito do método
splice(), que adiciona o caractere>ao início do array. A armadilha aqui é subestimar a capacidade dosplicede modificar o array original ou não entender seus parâmetros. - (D) Incorreta: O código apresentado está sintaticamente correto em JavaScript e será executado sem erros de sintaxe.
- (E) Incorreta: O array resultante seria vazio apenas se todos os elementos do array (após o
splice) fossem considerados "falsy" (como0,"",null,undefined,NaN), o que não é o caso aqui.
Fonte: FGV TRF1 2024 Analista Judiciário - Análise de Sistemas de Informação (Caderno Tipo 1). Reproduzida para fins de estudo.