JSFiddle - React, Tailwind, and code Playground

by thai

JavaScript

function log() {
     if (this instanceof log) {
         return log.reset.apply(log, arguments);
     }
     return log.write.apply(log, arguments);
 }
 
 log.write = function() {
     alert('log.write called');
     return this;
 };
 
 log.print = function() {
     alert('log.print called');
     return this;
 };
 
 log.reset = function() {
     alert('log.reset called');
     return this;
 };

log('log message', 'other parameter');
log.write('log message', 'other parameter');
log.print('optional parameter');
log.write('log message').print();

log = new log();
log('log message', 'other parameter');
log.write('log message', 'other parameter');
log.print('optional parameter');
log.write('log message').print();