# Prototypical Inheritance > Implement prototypical inheritance by replacing the prototype of one constructor with the prototype of another constructor.
## Usage ```javascript 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. ```javascript 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` with `extends`.
## Examples ```javascript 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' ```