Ciclo e return em JavaScript
Suponha que temos uma função que retorna a soma
dos números de 1 a 5:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
}
return sum;
}
let res = func();
console.log(res); // exibirá 15
Agora, suponha que coloquemos o return
dentro do ciclo, assim:
function func() {
let sum = 0;
for (let i = 1; i <= 5; i++) {
sum += i;
return sum;
}
}
let res = func();
console.log(res);
Neste caso, o ciclo será executado apenas uma
iteração e ocorrerá uma saída automática
da função (e, consequentemente, do ciclo). E em uma
iteração do ciclo, a variável sum conterá
apenas o número 1, e não a soma total necessária.
O que será exibido no console como resultado da execução do seguinte 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ê. O que o autor deste código quis fazer? Corrija o erro do autor.