Modular Javascript – Prototypal Pattern vs Classical OOP in JS
While many JS devs still use classical OOP, many have switched to the prototypal pattern for Module Inheritance and Instantiation. Here’s the prototypal pattern for JS and why some devs find it simpler to use.
View Classical Inheritance here:
View the whole modular JS playlist here:
SOURCE CODE HERE: http://codepen.io/anon/pen/gaggvG?editors=001
Basically, when coding JS OOP with the prototypal pattern, everything is an object. You start with an object literal and, then, to inherit from it, you use Object.create(someModule) to create a child that inherits from it.
var parent = {some: method};
var child = Object.create(parent);
//now add new methods to the child
child.newMethod = someMethod;
So there’s really no difference between inheritance and instantiation in the prototypal method. To create multiple children, simply:
var child1 = Object.create(parent);
var child2 = Object.create(parent);
And there you have it! Also see the source javascript code on how to include a create method so creating is a little more seamless.
source