JSFiddle - React, Tailwind, and code Playground

JavaScript

// 1
Function.prototype.method = function (name, func) {
    if (!this.prototype[name]) {
        this.prototype[name] = func;
        return this;
    }
};

// 2
Function.method('new', function () {

// Create a new object that inherits from the
// constructor's prototype.

    var that = Object.create(this.prototype);

// Invoke the constructor, binding -this- to
// the new object.

    var other = this.apply(that, arguments);

// If its return value isn't an object,
// substitute the new object.

    return (typeof other === 'object' && other) || that;
});