JSFiddle - React, Tailwind, and code Playground
JavaScript
function makeClass() {
return function() {
if(this instanceof arguments.callee) {
if(typeof this.init === 'function') {
this.init.apply(this, arguments);
}
} else {
throw new Error('Constructor called as a function');
}
};
}
var MyClass = makeClass();
MyClass.prototype = {
init: function(width, height) {
var xxx = 3;
MyClass.prototype.getXXX = function() {
return xxx;
};
MyClass.prototype.setXXX = function(newXXX) {
xxx = newXXX;
}
},
clear: function(ctx) {},
draw: function(ctx) {}
};
var testObj1 = new MyClass();
var testObj2 = new MyClass();
console.log(testObj1.getXXX());
console.log(testObj2.getXXX());
testObj1.setXXX(5);
console.log(testObj1.getXXX());
console.log(testObj2.getXXX());