Определение и вызов стрелочной функции в коде
Есть код:
function fillItems(count, min, max) {
var items = [];
for (let i = 0; i < count; ++i) {
let r = Math.floor(Math.random() * (max - min) + min);
items.push({
value: r,
description: (() => { // <=======
if (0 === r % 7)
return "multiple of 7";
if (0 === r % 5)
return "multiple of 5";
if (0 === r % 3)
return "multiple of 3";
return "other";
})()
});
}
return items;
}
Вопрос: нормально ли использовать стрелочную функцию в таком виде (отмечено в комментарии), т.е. определить и сразу же ее визвать? Какие могут быть минусы такого кода? Функция используется только в одном месте, ее код сильно упрощен для более легкого восприятия.
Updated: Что бы вы подумали/сказали, увидев такой код у себя в проекте?