Module #1 The basics
Module #2 Functions
Module #3 The tricky bits
Module #4 The DOM
- Selecting elements
- Elements properties and methods
- Working with classes
- Build in and custom data attributes
- Creating HTML
- HTML from strings and XSS
- Traversing and removing nodes
Module #5 Events
- Event listener
- Targets, bubbling, propagation and capture
- Prevent default and form events
- Accessibility gotchas and keyboard codes
Module #6 Serious practice exercises
Module #7 Logic and flow control
- BEDMAS
- Flow control - if statements, function, returns, truthy, falsy
- Coercion, ternaries and conditional abuse
- Case switch and animating a turtle with CSS variables
- Intervals and timers
Module #8 Data types
- Objects
- Object reference vs values
- Maps
- Arrays
- Array cardio - static methods
- Array cardio - instance methods
- Array cardio - callback methods
Module #9 Getting Loopy
- Array .forEach
- Mapping
- Filter, find and higher order functions
- Reduce
- Reduce exercise
- For, for in, for of and while loops
Module #10 Harder practice exercises
- Face detection and censorship
- Sarcastic text generator
- Shopping from with custom events, delegation and local storage
- Building a gallery exercise
- Building a slider
Module #11 Prototypes, 'this', 'new', and inheritance
- The new keyword
- The this keyword
- Prototype refactor of the gallery exercise
- Prototypes and prototypal inheritance
- Prototype refactor of the slider exercise
- Bind, call and apply
Module #12 Advanced flow control
- The event loop and callback hell
- Promises
- Promises Error Handling
- Refactoring callback hell to promise
- Async Await
- Async Await Error Handling
- Async Await Prompt UI
- Async Await Typer UI