Questão nº 44
Questão de Tecnologia da Informação · FCC TRT19 2022 (nº 44)
Considere a página web que utiliza Javascript, abaixo.
```
<!DOCTYPE html>
<html>
<body>
<p id="dados"></p>
<script>
const pessoa = {nome:"Pedro", sobrenome:"Silva", RG:"25.675.234-X"};
let p = "";
for (I) {
p += pessoa[x] + " ";
}
document.getElementById("dados").innerHTML = p;
</script>
</body>
</html>
```
Para que seja exibido Pedro Silva 25.675.234-X ao carregar a página no navegador, a lacuna I deve ser corretamente preenchida por
- A`let x=1 ; x < pessoa.size() ; x=x+1`
- B
let x=0; x < pessoa.length() ; x++ - C`let x in pessoa` (alternativa correta)
- D
let x=0; x <= pessoa.size() ; x++ - E`let x => pessoa`
Resposta comentada
Gabarito Alternativa C
O loop for...in em JavaScript é usado para iterar sobre as propriedades enumeráveis de um objeto, ou seja, para percorrer cada "chave" (nome da propriedade) que o objeto possui.
- (A) Incorreta: Objetos JavaScript comuns não possuem a propriedade
size()para determinar o número de suas propriedades. Essa sintaxe é inadequada para iterar sobre as chaves de um objeto. - (B) Incorreta:
pessoa.length()não existe para objetos literais. A armadilha aqui é confundir um objeto (que tem propriedades nomeadas) com um array (que tem elementos indexados numericamente e a propriedadelength). Objetos não são arrays. - (C) Correta:
let x in pessoaé a sintaxe correta para o loopfor...in. A cada iteração, a variávelxreceberá o nome da propriedade (a "chave") do objetopessoa(ex: "nome", "sobrenome", "RG"). Usandopessoa[x], acessamos o valor correspondente a essa propriedade, permitindo construir a string desejada. - (D) Incorreta: Similar à A,
pessoa.size()não é uma função ou propriedade válida para objetos literais em JavaScript. A lógica de iteração por índice (x=0,x++) é inadequada para percorrer propriedades de um objeto. - (E) Incorreta:
let x => pessoanão é uma sintaxe válida para um loopforem JavaScript. Parece uma tentativa de definir uma função de seta, mas não se encaixa na estrutura de um loop de iteração.
Fonte: FCC TRT19 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.