JavaScript හි ලූපය සහ return

අප සතුව අංක 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);

මෙම අවස්ථාවේදී, ලූපය එක් පුණරාවර්තනයක් (iteration) පමණක් ක්‍රියාත්මක වන අතර ශ්‍රිතයෙන් ස්වයංක්‍රීයව නික්මෙයි (ඒ සමඟම ලූපයෙන්ද). එක් පුණරාවර්තනයකින් පමණක්, sum විචල්‍යයේ ඇත්තේ 1 අංකය පමණක් වන අතර, අවශ්‍ය සම්පූර්ණ එකතුව නොවේ.

Задание 1

පහත කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලයක් ලෙස කොන්සෝලයේ දිස්වන්නේ කුමක්ද:

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

console.log( func(5) );

ඇයි ද යන්න පැහැදිලි කරන්න. මෙම කේතයේ රචකයා කුමක් කිරීමට අපේක්ෂා කළේද? රචකයාගේ දෝෂය නිරාකරණය කරන්න.