JSFiddle - React, Tailwind, and code Playground

JavaScript

function Rabbit(message){
    this.toString = function(){ return "I'm a rabbit"+message;};
}
var Magician = {};
Magician.pullRabbit = function(anything) {
    return "Tada, I pulled a "+anything.pullOfHat();
}

function makePullable(obj){
    obj.pullOfHat = function(){
        return new Rabbit(" Rabbit( from: "+obj+")");    
    }
}
var a = {a:4,b:6};//some object
var b = new Date();// A date object
var c = [];//An array object
var d = new Number(15);// note the boxing, since a number is a value type;

makePullable(a);
makePullable(b);
makePullable(c);
makePullable(d);

document.body.innerHTML += Magician.pullRabbit(a)+"<br />";
document.body.innerHTML += Magician.pullRabbit(b)+"<br />";
document.body.innerHTML += Magician.pullRabbit(c)+"<br />";
document.body.innerHTML += Magician.pullRabbit(d)+"<br />";