Estou praticando e surgiu uma duvida em relação ao retorno de uma arrow function, no codigo a seguir, estou tentando elevar todos os numeros de um array ao quadrado, o map vai me retornar um novo array com os numeros que passei como parametro elevados ao quadrado, até ai tudo bem:
  const quadrados = arrayNumeros.map((numero) => {
      numero ** 2
   })
porem quando vou fazer a calculo com essa sintaxe me retorna um NaN :
 quadrados.forEach(quadrado => {
    resultado = resultado + quadrado
 });
 
So me retornou o resultado certo quando eu escrevi o Map da forma mais curta, sem as chaves:
 
 const quadrados = arrayNumeros.map((numero) => numero ** 2);
gostaria de saber porque isso aconteceu?
o codigo completo:
 
  const numeros = [1, 2, 3]
function somaQuadrado(arrayNumeros) {
  let resultado = 0
  const quadrados = arrayNumeros.map((numero) => numero ** 2)
  quadrados.forEach(quadrado => {
     resultado = resultado + quadrado
  });
  return resultado
}
console.log(somaQuadrado(numeros));