Duration
5 days
Chapter 1: Exceptions and Error Handling
- The Error Object
- Exception Handling with try and catch
- Throwing Errors
- Exception Handling and the Call Stack
- Try..catch..finally
- Let Exceptions Be Exceptional
Chapter 2: Iterators and Generators
- The Iteration Protocol
- Generators
- Yield Expressions and Two-Way Communication
- Generators and return
Chapter 3: Functions and the Power of Abstract Thinking
- Functions as Subroutines
- Functions as Subroutines That Return a Value
- Functions as..Functions
- So What? Functions Are Objects
- IIFEs and Asynchronous Code
- Function Variables
- Functions in an Array
- Pass a Function into a Function
- Return a Function from a Function
- Recursion
Chapter 4: Asynchronous Programming
- The Analogy
- Callbacks
- setInterval and clearInterval
- Scope and Asynchronous Execution
- Error-First Callbacks
- Callback Hell
- Promises
- Creating Promises
- Using Promises
- Events
- Promise Chaining
- Preventing Unsettled Promises
- Generators
- One Step Forward and Two Steps Back?
- Don’t Write Your Own Generator Runner
- Exception Handling in Generator Runners
Chapter 5: Date and Time
- Dates, Time Zones, Timestamps, and the Unix Epoch
- Constructing Date Objects
- Moment.js
- A Practical Approach to Dates in JavaScript
- Constructing Dates
- Constructing Dates on the Server
- Constructing Dates in the Browser
- Transmitting Dates
- Displaying Dates
- Date Components
- Comparing Dates
- Date Arithmetic
- User-Friendly Relative Dates
Chapter 6: Math
- Formatting Numbers
- Fixed Decimals
- Exponential Notation
- Fixed Precision
- Different Bases
- Advanced Number Formatting
- Constants
- Algebraic Functions
- Exponentiation
- Logarithmic Functions
- Miscellaneous
- Pseudorandom Number Generation
- Trigonometric Functions
- Hyperbolic Functions
Chapter 7: Regular Expressions
- Substring Matching and Replacing
- Constructing Regular Expressions
- Searching with Regular Expressions
- Replacing with Regular Expressions
- Input Consumption
- Alternation
- Matching HTML
- Character Sets
- Named Character Sets
- Repetition
- The Period Metacharacter and Escaping
- Grouping
- Lazy Matches, Greedy Matches
- Backreferences
- Replacing Groups
- Function Replacements
- Anchoring
- Word Boundary Matching
- Lookaheads
- Constructing Regexes Dynamically
Chapter 8: JavaScript in the Browser
- ES5 or ES6?
- The Document Object Model
- Some Tree Terminology
- DOM “Get” Methods
- Querying DOM Elements
- Manipulating DOM Elements
- Creating New DOM Elements
- Styling Elements
- Data Attributes
- Events
- Event Capturing and Bubbling
- Event Categories
- Ajax
Chapter 9: jQuery
- The Almighty Dollar (sign)
- Including jQuery
- Waiting for the DOM to Load
- jQuery-Wrapped DOM Elements
- Manipulating Elements
- Unwrapping jQuery Objects
- Ajax
Chapter 10: Node
- Node Fundamentals
- Modules
- Core Modules, File Modules, and npm Modules
- Customizing Modules with Functions Modules
- Filesystem Access
- Process
- Operating System
- Child Processes
- Streams
- Web Servers
Chapter 11: Object Property Configuration and Proxies
- Accessor Properties: Getters and Setters
- Object Property Attributes
- Protecting Objects: Freezing, Sealing and Preventing Extensions
- Proxies
Programme scope, delivery arrangements and suitability are confirmed during enquiry.