1
resposta

semantica de atualizaEstatistica

Quando escrevo:elemento.textContent = parseInt(elemento.textContent +pecas[peca][elemento.dataset.estatistica] Eu estaria dizendo que [peca] está no nível de chave do objeto e que [elemento.dataset.estatistica] estaria no nivel de valor do objeto? Ou não tem nada a ver? Como o Js consegue entender que em [peca] deve retornar um valor que vem do html e em [elemento.dataset.estatistica]deve retornar um valor que vem do Array?

1 resposta

Olá, Aline, tudo bem?

Peço desculpas pela demora em obter um retorno

Vamos analisar essa linha passo a passo: elemento.textContent = parseInt(elemento.textContent + pecas[peca][elemento.dataset.estatistica]); elemento.textContent representa o texto atual do elemento HTML que será atualizado. pecas[peca] é uma referência a um objeto no array pecas, cuja chave é o valor da variável peca. [elemento.dataset.estatistica] é uma referência à chave dentro do objeto selecionado em 2. Então, respondendo à sua primeira pergunta, a referência a peca está no nível da chave do objeto e elemento.dataset.estatistica está no nível do valor do objeto.

Quanto à sua segunda pergunta, o JavaScript entende qual valor deve retornar para peca e elemento.dataset.estatistica por meio do contexto de execução em que o código está sendo executado. Quando o código é executado, o JavaScript usa o escopo e o contexto de execução para avaliar as referências a variáveis. A variável peca é definida em algum lugar acima do código que você compartilhou, e o JavaScript pode acessá-la porque ela está em escopo. O mesmo acontece com a propriedade dataset.estatistica do elemento HTML elemento. Essa propriedade é definida no HTML do elemento e, portanto, é acessível pelo JavaScript quando o código é executado.

Em resumo, o JavaScript é capaz de entender as referências a peca e elemento.dataset.estatistica porque elas estão em escopo quando o código é executado.

Espero que tenha ter ajudado, bons estudos!