Ciclo y return en JavaScript
Supongamos que tenemos una función que devuelve la suma
de números desde 1 hasta 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // mostrará 15
Ahora supongamos que colocamos return
dentro del ciclo, así:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
En este caso, el ciclo solo se ejecutará una
iteración y ocurrirá una salida automática
de la función (y, de paso, del ciclo). Y en una
iteración del ciclo, la variable sum contendrá
solo el número 1, y no la suma completa requerida.
¿Qué se mostrará en la consola como resultado de ejecutar el siguiente código:
function func(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
sum += i;
return sum;
}
}
console.log( func(5) );
Explique por qué. ¿Qué intentaba hacer el autor de este código? Corrija el error del autor.