Это потому что ты обучаешься, поэтому может что-то быть не понятным. Перепройдя курс ещё пару раз, ты наконец вкусишь фишку алгоритмов, но добавив щепотку своего опыта и на выходе МОЖЕТ получиться куда более оптимизированный и лучший алгоритм. Основная фишка, это естественно понимать мысль и тогда кодить проще и даже по своему можно. Главное, чтобы на выходе было то, что и задумывалось =)
з.ы.
function (a = 2, b = 2) {
return a * b;
}
function (a = 2, b = 2) {
num = 0;
for (i = 0; i < a; i++)
num + b;
return num;
}
Две абстрактные функции, обе принимают одно и тоже, вместо переменных указал сразу значения для компактности, и выводят один и тот же тип и, как видно, значение тоже, в итоге тебе решать как будет выглядеть код именно в твоей реализации. Как правило это либо в общепринятом стиле, либо так как предпочитаешь лично сам, либо в собственном стиле, но самое главное, чтобы было понятно как минимум тебе и ты считал, что именно так лучше. Понятие "лучше" вещь индивидуальная, кому то нравится хитрый финт ушками, кому то чтобы было раскрыт смысл и логика, а кто-то просто ищет самый быстрый вариант реализации.
з.ы.
и да, перед function не стоит явно тип возвращаемого значения, это как в php, там динамическая типизация в этом плане, только доллары не стал ставить, вдруг ты не знаком с php и возникли бы лишние вопросы, главное чтобы абстракция была ясна, я думаю она достаточно примитивна, чтобы разглядеть что к чему там происходит =)
точно, забыл равно добавить, ну главное мысль поняли =)