Classes and Inheritance and Functional Programming, OH MY! - 401-advanced-javascript-aimurphy/seattle-javascript-401n13 GitHub Wiki
Inheritance
more on this topic Functional inheritance makes use of a factory function*, and then tacks on new properties using concatenative inheritance. In JavaScript, any function can create new objects. When it’s not a constructor function, it’s called a factory function. Concatenative inheritance is the process of copying the properties from one object to another, without retaining a reference between the two objects. It relies on JavaScript’s dynamic object extension feature.
Objects
from ydkjs
-Objects are made of key:value pairs where the values can be accessed as properties via dot (object.property) or bracket notation (object[property]).
Literal & Constructed
object literal is straight up declaring that object as is out the gate, ex: var a = { .. } constructed object using a constructor function: var a = new Array(..)
Functional Programming
programming that is based on functions-lots of small, reusable functions. WRAP EVERYTHING IN FUNCTIONS! more on this
Currying converts a function that takes multiple parameter into a function that takes a single parameter at a time. It wont run the function until all parameters are passed.