Я недавно начал изучать javascript, и у меня возникают проблемы с пониманием функций более высокого порядка и функций обратного вызова.
Итак, я попытался создать некоторый код, в котором мне нужно было бы использовать их или где они были бы эффективными, но я просто не могу понять это.
const iceCreamFlavors = ["Strawberry", "Chocolate", "Vanilla", "Caramel"];
const giveIceCream = (mixedFlavors) => {
console.log(`Here you go, I've made a ${mixedFlavors()} icecream for you.`);
}
const mixStuff = (component1, component2) => component1.toLowerCase() + " and " + component2.toLowerCase();
const randomChoice = () => iceCreamFlavors[Math.floor(Math.random()*iceCreamFlavors.length())];
giveIceCream(mixStuff(randomChoice, randomChoice));
Результат должен быть следующим: «Ну вот, я приготовил для вас мороженое $ {mixedFlavors ()}».Где смешанные варианты будут двумя случайными вариантами из массива, но я получаю сообщение об ошибке, что component1 не является функцией, так что я немного запутался ...
РЕДАКТИРОВАТЬ:
const giveIceCream = mixedFlavors => console.log(`Here you go, I've made a ${mixedFlavors} icecream for you.`);
const mixStuff = (component1, component2) => component1().toLowerCase() + " and " + component2().toLowerCase();
const randomChoice = () => iceCreamFlavors[Math.floor(Math.random()*iceCreamFlavors.length)];
giveIceCream(mixStuff(randomChoice, randomChoice));
Я исправил то, что хотел сделать, спасибо всем ^^