Драйвер печати: чётные и нечётные страницы

Почему этот вариант ответа правильный

if(mode === 'alternate'){
  for(var alternatePage = startPage;  alternatePage <= totalPages; alternatePage = alternatePage + 2){
    keks.print(alternatePage);
    }
}

а этот

if(mode === 'alternate'){
  for(var alternatePage = startPage;  alternatePage === totalPages; alternatePage = alternatePage + 2){
    keks.print(alternatePage);
    }
}

нет?

в цикле (а также в условии), то, что посередине (между точками с запятой) - называют предикат. он должен возвращать true, чтобы тело цикла/условия выполнялось.

тут очевидно, что alternatePage не равно totalPages (неравенство дает false), поэтому тело цикла не выполнится ни разу.

Как-то оно странно звучит, ведь известно что alternatePage меньше чем totalPages, а значит условие с самого начала уже выполнено. Тоже самое что totalPages == totalPages, странно выполнять проверку в данном случае.

вы спрашивали почему это не работает

не выполнено, а возвращает истину
тогда выполняется тело цикла {keks.print(alternatePage);}

не выполняется, если предикат вернет ложь, все просто

А почему тогда меньше или равно, если можно просто меньше, тогда тоже будет истина

теорию отрезков из линейной алгебры за 6 класс помните?
>= или <= означает включительно