Цикл и return в JavaScript

Пусть у нас есть функция, возвращающая сумму чисел от 1 до 5:

function func() { let sum = 0; for (let i = 1; i <= 5; i++) { sum += i; } return sum; } let res = func(); console.log(res); // выведет 15

Пусть теперь мы расположим return внутри цикла, вот так:

function func() { let sum = 0; for (let i = 1; i <= 5; i++) { sum += i; return sum; } } let res = func(); console.log(res);

В этом случае цикл прокрутится лишь одну итерацию и произойдет автоматический выход из функции (ну и заодно из цикла). А за одну итерацию цикла в переменной sum окажется лишь число 1, а не вся нужная сумма.

Что выведется в консоль в результате выполнения следующего кода:

function func(num) { let sum = 0; for (let i = 1; i <= num; i++) { sum += i; return sum; } } console.log( func(5) );

Объясните почему. Что хотел сделать автор данного кода? Исправьте ошибку автора.

enru