2.2 KiB
2.2 KiB
Prototypical Inheritance
Implement prototypical inheritance by replacing the prototype of one constructor with the prototype of another constructor.
Usage
var inherit = require( '@stdlib/utils/inherit' );
inherit( ctor, superCtor )
Implements prototypical inheritance by replacing the prototype of one constructor with the prototype of another constructor.
function Foo() {
return this;
}
Foo.prototype.beep = function beep() {
return 'boop';
};
function Bar() {
Foo.call( this );
return this;
}
inherit( Bar, Foo );
Notes
- This function is not designed to work with ES2015/ES6 classes. For ES2015/ES6 classes, use
class
withextends
.
Examples
var inherit = require( '@stdlib/utils/inherit' );
function Foo() {
return this;
}
Foo.prototype = {};
Foo.prototype.beep = function beep() {
return 'boop';
};
function Bar() {
Foo.call( this );
this._super = Foo.prototype;
return this;
}
// Set up prototypical inheritance:
inherit( Bar, Foo );
var bar = new Bar();
var bool = ( bar instanceof Bar );
// returns true
bool = ( bar instanceof Foo );
// returns true
bool = bar.beep();
// returns 'boop'