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!