- Syntax examples (let/const, functions, arrow functions, classes)
- Prototype-based inheritance a. What is a prototype (https://en.wikipedia.org/wiki/Prototype-based_programming) b. How this translates into diagrams (which objects point to which) c. How to express this in code d. Class-syntax? How does it map to prototype based syntax e. Copy vs delegation f. Application 1 (copy): mixins g. Application 2 (delegation): change class at run-time
- Generators: a. The concept b. Use case 1: Lazy computation c. Use case 2: Infinite lists d. Use case 3: Effectfull programming e. Use case 4: Monads using generators (https://curiosity-driven.org/monads-in-javascript) f. Use case 5: List Monad g. Use case 6: Maybe Monad h. Use case 7: Continutation Monad
- Continuation Monad === Promises a. Show the real syntax b. Touch upon async generators c. Show link with "continuation" from the course
- JS = living language, changed through TC39 committee and babel a. Different stages b. Babel allows experimentation with new language concepts
- Some quirks of JS? a. Turing complete using only 6 characters