Submodules
The last technique that we consider in this chapter, which also allows us to extend our modules, is using submodules.
Submodules are essentially independent modules, which can be added to another module as properties of the hosting module. There are various ways of adding submodules to other modules and we will cover two of these approaches in this section.
Let's stay with the shape theme that we have been using so far and create a Shape
module. We will consider this module as our hosting module. This module is the parent module for all 2D and 3D shapes and we will add our Polygon
module to it.
Adding submodules using dynamic properties
Adding a submodule to a module as a dynamic property is straightforward, and as we can add dynamic properties to any JavaScript object, we can add a property to a hosting module which points to a submodule.
Consider the following:
var Shape = (function(){ var type = "Any 2D and 3D shape"; function getType(){ return...