Функция и массив

Взял данный скрипт из учебника.

Не могу понять, что делают последние 5 строк, пожалуйста объясните.

function sumInput() {

  let numbers = [];

  while (true) {

    let value = prompt("Введите число", 0);

    // Прекращаем ввод?
    if (value === "" || value === null || !isFinite(value)) break;

    numbers.push(+value);
  }

  let sum = 0;                          // Что 
  for (let number of numbers) {        //  делает
    sum += number;                    //   этот
  }                                  //    фрагмент
  return sum;                       //     кода?
}

alert( sumInput() );


Ответы (2 шт):

Автор решения: kotleni
  let sum = 0;                          // сумма 
  for (let number of numbers) {        //  перебор всех значений массива numbers
    sum += number;                    //   добавить значение к сумме
  }                                  //    ...
  return sum;                       //     вернуть сумму

Данный код делает это:

  • Принимает введенные данные
  • По команде перестает их принимать
  • Суммирует, и возвращает результат
→ Ссылка
Автор решения: Михаил Камахин

Это:

let sum = 0;                          
for (let number of numbers) {        
  sum += number;                    
}                            

Работает также, как и:

let sum = 0;
for (let i = 0; i < numbers.length; i++) {
  sum += number;
}

Т.е. в данном случае это простой цикл, которой проходится по всему массиву

→ Ссылка