EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Learning JavaScript (Advanced)

Course outline

5 days

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.