//aprendiendo javascript en udemy //Aquí está mi código (bueno, el código del instructor pero mi réplica exacta:
const magicSquare = [ [ 2, 7, 6 ], [ 9, 5, 1 ], [ 4, 3, 8 ] ]; for (let i = 0; i < magicSquare.length; i++) { let row = magicSquare[i]; let sum = 0; for (let j = 0; j < row.length; j++) { sum += row[j]; } console.log(`${row} summed to ${sum}`); } //Entonces, antes de escribir la última línea: console.log( ${row} summed to ${sum} ); escribiría "sum" o "row" en mi consola solo para verificar que funcionaba correctamente y, a cambio, el dios de la consola regresaría a mí:
Uncaught ReferenceError: sum is not defined //así que cada vez que no estaba definido, pensaba que debía estar haciendo algo mal, así que seguí volviendo y mirando el código del instructor y luego el mío, y estaba muy frustrado porque sabía que teníamos exactamente lo mismo, así que finalmente decidí terminar todo y ver si funcionaba. Efectivamente, tan pronto como pongo la última línea que es la plantilla literal; en el fondo funcionó! Pero aún así, si escribo: row o sum (sin comillas, por supuesto) en la consola, ¡devuelve indefinido! ¿Cómo puede algo funcionar y ser indefinido? Fue una gran operación gaslighting..
//¿Es porque estas variables están ubicadas dentro del bucle? Si los defino fuera del bucle, aparecen en mi consola.
// también stackoverflow me dice CTRL + K mi código para formatear, no estoy seguro si estoy haciendo esto correctamente, nuevo usuario, primera pregunta, sin experiencia en programación. ¡Gracias!