Socket
Socket
Sign inDemoInstall

inherits

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

inherits

A tiny simple way to do classic inheritance in js


Version published
Maintainers
1
Weekly downloads
70,867,779
decreased by-9.72%

Weekly downloads

Package description

What is inherits?

The inherits npm package is a simple utility module that allows you to implement inheritance in JavaScript. It facilitates the prototype chain linkage between a constructor function (child) and another constructor function (parent) to achieve classical inheritance patterns.

What are inherits's main functionalities?

Inheritance

This code demonstrates how to use the inherits package to set up classical inheritance between a custom constructor MyStream and the built-in EventEmitter constructor. It allows instances of MyStream to inherit methods and properties from EventEmitter.

var inherits = require('inherits');
var EventEmitter = require('events').EventEmitter;

function MyStream() {
  EventEmitter.call(this);
}

inherits(MyStream, EventEmitter);

MyStream.prototype.write = function(data) {
  this.emit('data', data);
};

var stream = new MyStream();
console.log(stream instanceof EventEmitter); // true
console.log(MyStream.super_ === EventEmitter); // true

Other packages similar to inherits

Readme

Source

A dead simple way to do inheritance in JS.

var inherits = require("inherits")

function Animal () {
  this.alive = true
}
Animal.prototype.say = function (what) {
  console.log(what)
}

inherits(Dog, Animal)
function Dog () {
  Dog.super.apply(this)
}
Dog.prototype.sniff = function () {
  this.say("sniff sniff")
}
Dog.prototype.bark = function () {
  this.say("woof woof")
}

inherits(Chihuahua, Dog)
function Chihuahua () {
  Chihuahua.super.apply(this)
}
Chihuahua.prototype.bark = function () {
  this.say("yip yip")
}

// also works
function Cat () {
  Cat.super.apply(this)
}
Cat.prototype.hiss = function () {
  this.say("CHSKKSS!!")
}
inherits(Cat, Animal, {
  meow: function () { this.say("miao miao") }
})
Cat.prototype.purr = function () {
  this.say("purr purr")
}


var c = new Chihuahua
assert(c instanceof Chihuahua)
assert(c instanceof Dog)
assert(c instanceof Animal)

The actual function is laughably small. 10-lines small.

Keywords

FAQs

Last updated on 27 Aug 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc