Ao depurar o código no Google Chrome, foi observei que console.log() se comportou de maneira estranha ao lidar com arrays aninhados. Quando uma matriz foi registrada, a modificação de seu valor interno após o registro resultou na saída registrada refletindo o valor atualizado em vez do valor no momento do registro. Esse comportamento estava ausente no Firefox.
Investigações adicionais revelaram que a inconsistência surgiu quando o console do Chrome foi aberto durante o carregamento. Com o console inicialmente fechado e aberto após o carregamento da página, console.log() exibia os valores reais da matriz no momento do registro.
Após uma pesquisa completa, ele foi descoberto que esse comportamento foi reconhecido como um bug no Webkit. No entanto, uma correção foi implementada em agosto de 2012 e ainda não foi lançada no Google Chrome.
Um desenvolvedor do Chromium comentou sobre o bug, expressando que clonar objetos no console pode não ser viável. Além disso, ouvir as alterações nas propriedades do objeto para manter valores precisos não seria prático.
A implementação atual de console.log() evita a clonagem de objetos ao exibi-los no console. Em vez disso, visualizações abreviadas são geradas durante o registro, fornecendo um instantâneo das propriedades do objeto. Isso ocorre apenas se o console já estiver aberto, o que explica a discrepância de comportamento dependendo do estado inicial do console.
Este comportamento inconsistente no console.log() do Google Chrome é devido à implementação da manipulação de objetos no console. O comportamento esperado deve permanecer, pois a visualização reflete os valores do objeto no momento do registro. Os desenvolvedores devem estar cientes desse comportamento e usar métodos de depuração alternativos quando possível.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3