JSFiddle - React, Tailwind, and code Playground
by akoptsov
JavaScript
function create(ctor, args) {
var str = [],
res;
for (var i = 0, count = args.length; i < count; i++) {
str.push('args[' + i + ']');
}
eval('res = new ctor(' + str.join(', ') + ');');
return res;
}
function extend(base, extension) {
extension.prototype = create(base, Array.prototype.slice.call(arguments));
return extension;
}
var Ext = extend(
function Foo() {this.foo='bar';},
function Baz(a, b) {
this.bar = function () {return a+b;};
this.baz = this.foo;
}
);
var x = new Ext(10, 100);
console.log(x.foo);
console.log(x.bar);
console.log(x);