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.