JSFiddle - React, Tailwind, and code Playground
by emepyc
JavaScript
Object.prototype.extend = function (source) {
for (var k in source) {
if (source.hasOwnProperty(k)) {
this[k] = source[k];
}
}
}
// Base class
var Page = function () {};
Page.prototype = Object.create (Object.prototype, {
sayHello: {
enumerable: true,
get: function () {
return "hello!";
}
}
});
//var page = new Page;
// console.log("=> " + page.sayHello);
var MidPage = function () {};
MidPage.prototype = Object.create (Page.prototype, {
sayHere: {
enumerable: true,
get: function () {
return "Waiting...";
}
}
});
//var mid = new MidPage();
//console.log(mid.sayHello);
//console.log(mid.sayHere);
var FrontPage = function () {};
FrontPage.prototype = Object.create(Page.prototype, {
sayBye: {
enumerable: true,
get: function () {
return "bye!";
}
}
});
//extend(FrontPage.prototype, MidPage.prototype);
FrontPage.prototype.extend (MidPage.prototype);
var front = new FrontPage();
console.log(front.sayHello);
console.log(front.sayHere);
console.log(front.sayBye);
console.log(front instanceof FrontPage);
console.log(front instanceof Page);
console.log(front instanceof MidPage);