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.