Зачем в конце этой функции вписано return true?

Убедительно прошу помочь, была дана задача написать функцию по определению "является ли данное число простым":

Напишите функцию isPrime(). Она принимает число и возвращает true, если число является простым, и false в ином случае. Простое число — целое положительное число, имеющее ровно два различных натуральных делителя — единицу и самого себя. Например, 7 — простое число, потому что делится без остатка только на 1 и на себя. 2017 — другое простое число. Используйте цикл for и арифметические шорткаты. Вопрос заключается в том, что мною была написана вот такая функция, но она давала неверный ответ (например, при вызове с аргументом 21 должен был произойти вывод false (не простое), а вывелось true):

const isPrime = num => {
  if (num <= 1) { 
    return false;
  }
  else {
    for (let k = 2; k < num; k++){
      if (num % k == 0){
        return false;
        break;
      }
      else {
        return true;
      }
    }
  }
}
?

Вот как выглядит ответ на это задание (правильное определение функции) и я в большом замешательстве, для чего нужна инструкция return true в конце описания функции?:

    const isPrime = (number) => {
  if (number < 2) {
    return false;
  }

  for (let i = 2; i <= number / 2; i += 1) {
    if (number % i === 0) {
      return false;
    }
  }

  return true;
};


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

Автор решения: Алексей Шиманский

Ответ прост: программа может просто не зайти ни в один из if'ов, а вернуть булево нужно.

Все проверки - что число не простое. Если никуда не зашло - значит простое, то есть true

→ Ссылка