Skip to content

Instantly share code, notes, and snippets.

@sagivf
Forked from tcare/es5-no-classes-impl.js
Last active August 29, 2015 14:11
Show Gist options
  • Save sagivf/5b3ceb16bf9101986b4f to your computer and use it in GitHub Desktop.
Save sagivf/5b3ceb16bf9101986b4f to your computer and use it in GitHub Desktop.
/* ES5 code, without classes */
var Civilian = function Civilian(name) {
this.name = name;
};
Civilian.prototype.danger = function () { console.log("Run away!"); };
var SuperHero = function(name, ability) {
Civilian.call(this, name); // Call the super class constructor.
this.ability = ability;
};
SuperHero.prototype = Object.create(Civilian.prototype);
SuperHero.prototype.constructor = SuperHero;
SuperHero.prototype.danger = function () { // Override the super class method.
console.log("Never fear, " + this.name + " is here!");
console.log(this.name + " uses " + this.ability + ". It's super effective.");
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment