Learn how to:
Apply best practices and avoid quirks and common pitfalls.
Use modern language features.
Understand lexical scope and closure.
Write clean, well-structured code.
Get acquainted to functional programming concepts.
Apply asynchronous and event-driven patterns.
- Introduction to unit testing (Jest)
- const & let
- Template strings
- object literal
- shorthand method/property names
- getters and setters
- computed property names
- retrieving property value
- destructuring and rest operator
- default & guard operators
- updating properties & property attributes
- property enumeration
- removing properties
- immutable objects
- spread operator
- function literal
- function expression vs. function declaration
- default arguments and rest parameters syntax
- destructuring arguments
- arrow functions
- invocation patterns
- array literals
- destructuring and spread operator
- enumerating arrays
- transform arrays using Array.prototype.filter, Array.prototype.map & co
- “fold” arrays using Array.prototype.reduce
- Functions, part two
- lexical scope
- higher-order functions
- currying and partial application
- composability and functional composition
- Unit testing asynchronous code
- constructor and factory functions
- Asynchronous programming patterns