Estoy haciendo un cambiador de color simple. Y asigné document.body.style.backgroundColor al valioso backgroundColor . Cuando hago console.log(backgroundColor) , puedo ver que funciona pero el color de fondo no cambia. Así que eliminé la variable backgroundColor y puse document.body.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)]; y luego funciona! Pero no puedo entender por qué no funciona cuando asigné document.body.style.backgroundColor a una variable como el siguiente código.
const btn = document.querySelector('.btn'); const color = document.querySelector('.color'); const colors = ["green", "red", "rgba(133,122,200)", "#f15025"]; btn.addEventListener('click', function() { let backgroundColor = document.body.style.backgroundColor ; backgroundColor = colors[Math.floor(Math.random() * colors.length)]; console.log(backgroundColor) })Al hacer eso, solo está copiando (guardando) el valor literal de document.body.style.backgroundColor , no hay nada que señalar. por lo que asignar un nuevo valor a la variable no afecta a document.body.style.backgroundColor .
Simplemente está cambiando el valor de nuevo:
backgroundColor = colors[Math.floor(Math.random() * colors.length)];