JSFiddle - React, Tailwind, and code Playground
by boisvert
JavaScript
function loggerise(f) {
return function() {
const r = f(arguments)
console.log(r)
return r
}
}
const oracle = {
question:'',
ask: function(q) {this.question=q},
answer: function() {return 'Answer to '+this.question+' is 42'},
answerLog: loggerise(function() {return 'Answer to '+this.question+' is 42'})
}
oracle.ask('the universe');
alert(oracle.answer()); // correct result, no logging
alert(loggerise(()=>(42))()) // correct result and logging, not in obect
alert(oracle.answerLog()); // wrong result and logging, in obect