a special kind of variable, used in a subroutine to refer to one of the pieces of data provided as input to the subroutine. These pieces of data are also called arguments
It is the practice of designing objects to share behaviors and to be able to override shared behaviours with specific one. seehttps://stackoverflow.com/questions/27642239/what-is-polymorphism-in-javascript
allows a subclass or child class to provide a specific implementation of a method that is already provided by one of its superclasses or parent classes
to define two or more functions with the same name and in the same scope. Each function has a unique signature (or header), which is derived from: function/procedure name. number of arguments. arguments' type.
constructor is a special type of subroutine called to create an object. It prepares the new object for use, often accepting arguments that the constructor uses to set required member variables
, it creates a brand new object, irrespective of whether one already exists. It creates a new object and stuffs the reference to that object inside the variable it has been given, overwriting any previous value (object) the variable held.