forEach() мне тоже приходилось использовать, только итератором я его не называла, т.к. он сильно похож на мой любимый for

.
Я ведь в программировании самоучка, а потому по части терминологии не сильна. Для меня важно (и это запоминается), какая конструкция что делает. Например, forEach для меня и есть forEach

, даже если у него есть еще какие-то названия, отличающиеся от имени.
Кстати да, их не всегда выделяют в отдельную группу (особенно на русскоязычных рессурсах).
Чаще - подают в контексте темы о "высших функциях" (higher order function) тех, что принимают функции в виде параметра и/или отдают как результат,
и о функциях "с обратным вызовом "- callback function. Тех, которые используют уже как аргумент, при вызове другой функции (очевидно первого типа).
Это реально какая то мутотень... Ну нам говорят, что получившуюся структуру можно гибче использовать, и в случае каких то изменений - не придется ковырять и переписывать ее всю. только часть..
сейчас покажу, что меня поставило в ступор, когда впервые столкнулась в учебнике..
вроде бы все понятно.. но блин, мудрено как то..
// здесь оцениваем дистанцию и выдаем соответствующий комментарий:
const howClose = (distance) => {
if (distance > 100) console.log("Скоро прибываем... ");
else console.log("Нам еще ехать и ехать.");
}
//Здесь
//1 -рассчитываем саму дистанцию,
//2- передаем полученное значение в какую то функцию, как параметр,
//для последующей обработки:
const calculateDistance = (speed, time, callback) => {
const distance = speed * time;
callback(distance);
}
//Здесь - вызываем функцию рассчета дистанции,
//передаем аргументы - скорость и время,
// и в виде функции для третьего параметра - передаем howClose, написанную ранее (которая собственно и оценит рассчитанную дистанцию, а потом выдаст соответствующий комментарий.
calculateDistance(40, 2, howClose);
//Нам еще ехать и ехать.Пока что для меня это какой то вывих мозгов...
То есть самой написать нечто подобное, да еще и с практической целью - мне пока не удается.
Не вполне понимаю одним словом, для чего это нужно?
проще ведь в одну функцию все это воткнуть, и, если надо, менять оценку (значения комментариев, определенных как переменные где то во вне, в глобальной области)..
не доходит концепт...
просто запоминаю, что вот, и так значит можно извратится. но к чему это практически - пока не доходит..
Может быть ты знакома с этими приемчиками? Для чего это все ? как применяется?
наверняка они используются очень часто, иначе нас не гоняли бы так по пустякам...