Basics & Fundamentals: Data types, let & const variables, functions, conditionals, loops, object literals, arrays, etc DOM Manipulation: Selectors, traversing the DOM, show/hide, creating & removing elements, event listeners OOP: ES5 prototypes, inheritance, ES2015 classes & sub-classes, constructors Async JS: Ajax & XHR, Fetch API, callbacks, promises, async / await ES2015+: Arrow functions, template strings, generators, iterators, maps & sets, symbols & more JavaScript Patterns: Module, Factory, State, Observer, Mediator, Singleton Other: Local & session storage, regular expressions, try/catch error handling.