Babel
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.6.15/browser.js"></script>
<script type="text/babel">
function getLogger(log, prefix='info') {
return str => log(`${prefix} - ${new Date()}: ${str}`);
}
const infoLogger = getLogger(msg => console.log(msg));
infoLogger('Starting up!');
const errorLogger = getLogger(msg => { throw msg }, 'error');
errorLogger('Oh no!'); // throws an error with 'error' prefix!
</script>