# 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'
```