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));