Не понимаю как работают функции в методах итерации

Изучаю методы итерации в js и во всех них создаётся новая функция, а потом в неё сохраняется локальная переменная, не понимаю, как это происходит, пример:

veg = ['cucumbers', 'tomatoes', 'eggplants', 'classmates', 'peppers', 'carrots']
veg.forEach(vegetableList => { // добавляется функция
    vegetableList += ' ' + 'bought' // и тут мы её используем как переменную, как так?
    console.log(vegetableList)
})

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

Автор решения: Кирилл Панишев
veg = ['cucumbers', 'tomatoes', 'eggplants', 'classmates', 'peppers', 'carrots']
veg.forEach((vegetableList) => { // в скобочках аргумент,а не функция, но их можно опустить 
    vegetableList += ' ' + 'bought' // и тут мы используем этот аргумента, а не функцию
    console.log(vegetableList)
})
→ Ссылка