JavaScript 3 Level Inheritance
by Slava Fomin II
JavaScript
function Foo() {
console.log('Foo()');
}
Foo.prototype.constructor = Foo;
console.log('-----');
console.log('Creating Foo');
new Foo();
console.log('-----');
// -----
function Bar() {
console.log('Bar()');
Foo.prototype.constructor.apply(this, arguments);
}
Bar.prototype = new Foo();
Bar.prototype.constructor = Bar;
console.log('-----');
console.log('Creating Bar');
new Bar();
console.log('-----');
// -----
function Baz() {
console.log('Baz()');
Bar.prototype.constructor.apply(this, arguments);
}
Baz.prototype = new Bar();
Baz.prototype.constructor = Baz;
console.log('-----');
console.log('Creating Baz');
new Baz();
console.log('-----');