Explicação de Jantar a dois
Objetivo do desafio: Use uma função que utiliza uma função retorno de chamada como argumento.
Passo a passo da solução: Neste desafio, há 3 funções declaradas: orderGroceries()
, orderPizza()
e scheduleDinner()
.
orderGroceries()
e orderPizza()
são funções simples que imprimem uma mensagem para o console usando console.log()
.
O último, scheduleDinner()
, é especial. São necessárias tanto uma string (day
) quanto uma função (mealFunction
) como argumento. Quando uma função é usada como argumento, ela é chamada de função retorno de chamada. O uso da função retorno de chamada torna scheduleDinner()
mais flexível, pois pode executar tanto orderGroceries
quanto orderPizza
, dependendo de qual é a função retorno de chamada.
Abaixo das declarações de função, scheduleDinner('Monday', orderPizza)
chama a função scheduleDinner()
com 'Monday'
como day
e orderPizza
como o retorno de chamada mealFunction
.
Para concluir o desafio, chame scheduleDinner()
novamente. Dê um dia da semana (como uma string) para o 1º argumento e depois orderPizza
ou orderGroceries
como um retorno de chamada.
Solução do código de exemplo:
(Toque abaixo para revelar)
function orderGroceries(day) {
console.log('Groceries will be ordered on ' + day);
}
function orderPizza(day) {
console.log('Pizza will be ordered on ' + day);
}
function scheduleDinner(day, mealFunction) {
console.log('Scheduling dinner...');
mealFunction(day);
}
scheduleDinner('Monday', orderPizza);
scheduleDinner('Tuesday', orderGroceries);
Conceitos de JavaScript: Funções, Funções retorno de chamada, Strings, console.log()