Цикъл и return в JavaScript

Нека имаме функция, която връща сумата на числата от 1 до 5:

javascriptfunction func() {
  let sum = 0;
  
  for (let i = 1; i <= 5; i++) {
    sum += i;
  }
  
  return sum;
}

let res = func();
console.log(res); // ще изведе 15

Нека сега поставим return вътре в цикъла, ето така:

javascriptfunction func() {
  let sum = 0;
  
  for (let i = 1; i <= 5; i++) {
    sum += i;
    return sum;
  }
}

let res = func();
console.log(res);

В този случай цикълът ще се изпълни само една итерация и ще се излезе автоматично от функцията (а заедно с това и от цикъла). А за една итерация на цикъла в променливата sum ще се окаже само числото 1, а не цялата необходима сума.

Задание 1

Какво ще се изведе в конзолата в резултат на изпълнението на следния код:

javascriptfunction func(num) {
  let sum = 0;
  
  for (let i = 1; i <= num; i++) {
    sum += i;
    return sum;
  }
}

console.log( func(5) );

Обяснете защо. Какво е искал да направи авторът на този код? Поправете грешката на автора.