JSFiddle - React, Tailwind, and code Playground

JavaScript

var equalsTrait = {
    eq: function(obj) {
        return this == obj
    },
    neq: function(obj) {
        return ! this.eq(obj)
    }
};

window.Traits = {};
Traits.addToClass = function(traits, cls) {
    for (var key in traits) {
        if (cls.prototype[key]) {
            alert("Class " + cls + " already has a method named " + key + "!");
        }
        else {
            cls.prototype[key] = traits[key];
        }
    }
}
    
Traits.addToClass(equalsTrait, Object);

var x = new Object();
var y = new Object();
var z = x;

alert("x == z ? " + x.eq(z));
alert("x == y ? " + x.eq(y));
alert("x != y ? " + x.neq(y));