Source: https://github.com/fzero/lhl-lectures/blob/master/w6d5-js-prototypes/README.md
It was mentioned throughout the course that Javascript is a mostly functional language with object oriented features thrown in. Today we'll explore how these features work and why Javascript only recently (as in ES6) became a truly object oriented language in the traditional sense.
Object Oriented Programming is one of many ways to write programs. The technical definition can be found on the link above, but the TL;DR is that you create templates - classes - used to represent your data structures consistently along with functions - methods - that act upon them.