¿Alguien podría explicarme por qué esto no funciona? Al principio pensé que era porque Javascript se cierra pero no estoy tan seguro
let accounts = []; accounts[0] = 30; accounts[1] = 25; accounts[2] = 45; var totalBalance = accounts.forEach(function(obj){ totalBalance += obj; console.log(totalBalance) }) console.log(totalBalance);La salida de este último console.log no está definida
Debido a que no está asignando una función a totalBalance, está asignando lo que devuelva forEach. Vamos a comprobar en la documentación ?
Return value undefined.Por lo tanto, solo tiene sentido que su variable no esté definida. Aquí, esto funciona mejor:
let accounts = []; accounts[0] = 30; accounts[1] = 25; accounts[2] = 45; var totalBalance = 0; accounts.forEach(function(obj){ totalBalance += obj; console.log(totalBalance) }) console.log(totalBalance);