Não consigo entender esse código
Pessoal, estou estudando JavaScript pelo livro JavaScript Eloquent. Estou confuso com o funcionamento desse codigo:
Link do capitulo do livro: https://github.com/braziljs/eloquente-javascript/blob/master/chapters/05-funcoes-de-ordem-superior.md
A parte é sobre funções de ordem superior.
E você pode ter funções que alteram outras funções.
function noisy(f) {
return function(arg) {
console.log("calling with", arg);
var val = f(arg);
console.log("called with", arg, "- got", val);
return val;
};
}
noisy(Boolean)(0);
// → calling with 0
// → called with 0 - got false
Eu entendo até bem o que está acontecendo, mas o que não entendo é como esse parâmetro "0" chega até a função noisy. Pelo que estou vendo ele é apenas um numero entre parênteses. Não sabia que valores isolados como esses poderiam ser passados como função. Sempre pensei que o certo seria: noisy(Boolean, 0);
E que função f(arg) seria essa que nem declarada esta? Vou continuar analisando ela para ver se consigo entender. Desde já obrigado pessoal.Discussão (3)
Carregando comentários...