Pular para o conteúdo principal

Questão de Programação — Linguagens de programação — FGV 2023

ProgramaçãoLinguagens de programação
Código
fg060734
Banca
FGV
Órgão
CGE-SC
Ano
2023
Nível
Superior
Cargo
Auditor do Estado - Ciências da Computação - Tarde (Conhecimentos Específicos)
Analise o código Javascritp a seguir.let a = {x: 1};let b = {x: 2};let c = {x: 3};let arr = [a, b, c];arr.forEach((obj) => { obj.x += 1; }); console.log(a.x, b.x, c.x); O resultado exibido ao rodar esse código será
  1. A1 2 3
  2. B2 3 4
  3. C4 5 6
  4. D[1, 2, 3]
  5. E[2, 3, 4]
Revelar gabarito e comentário

GabaritoB — 2 3 4

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 \u2013 Refer\u00eancia de objetos e forEach

Gabarito: letra B. O c\u00f3digo exibe "2 3 4" no console. A chave est\u00e1 no fato de que objetos em JavaScript s\u00e3o passados por refer\u00eancia. Ao iterar com forEach e modificar obj.x, estamos modificando diretamente o objeto original.

O c\u00f3digo cria tr\u00eas objetos literais a, b, c com a propriedade x igual a 1, 2 e 3, respectivamente. Em seguida, insere esses objetos em um array arr. O m\u00e9todo forEach percorre cada elemento do array (que s\u00e3o os pr\u00f3prios objetos) e executa obj.x += 1. Como obj \u00e9 uma refer\u00eancia ao objeto original, a propriedade x de cada objeto \u00e9 incrementada em 1. Assim, a.x passa a ser 2, b.x 3 e c.x 4.

Portanto, console.log(a.x, b.x, c.x) imprime: 2 3 4.

As alternativas A (1 2 3) e C (4 5 6) apresentam valores incorretos. As alternativas D e E exibem o formato de array, mas console.log com m\u00faltiplos argumentos os exibe separados por espa\u00e7o, n\u00e3o como array.

Gabarito: letra B.

Link permanente: /questoes/fg060734