Web Development
Advanced JavaScript Programming
Course Overview
In this Advanced JavaScript Programming training course, you will learn advanced JavaScript techniques that include working with the new ECMAScript 2015 (“ES6”) release. The course includes a thorough exploration of advanced objects, arrays, and functions; the XMLHttpRequest (Ajax) API; and working with JSON. Finally, you will learn to handle errors and exceptions and to use regular expressions in JavaScript.
Course Length
2 days
Learning Outcomes / Objectives
- Learn to recognize/handle scope, including ES6 techniques for controlling the scope of a variable
- Learn to use prototyping, ES6 classes, and advanced JavaScript objects like maps and sets
- Learn advanced techniques for working with functions, including default values and flexible arguments, closures, immediately-invoked function expressions (IIFEs), and recursion
- Learn to use advanced array methods and properties
- Learn to use the XMLHttpRequest API to make Ajax calls and techniques for dealing with the same-origin policy
- Learn to use the JSON data format in JavaScript
- Learn to use try/catch/finally for handling errors
- Learn to use regular expressions in JavaScript
Topic List
- Scope
- Scope in JavaScript
- The var Keyword
- Scope in Nested Functions
- The let Keyword
- Exercise: Scope
- Advanced Objects
- Object-Oriented Programming
- Prototyping
- Objects in JavaScript
- Prototyping in JavaScript
- Composing Prototypes
- Exercise: Prototyping
- ES6 Classes
- Static Methods
- Exercise: ES6 Classes & Static Methods
- Inheritance
- Maps
- Map vs Object?
- Sets
- Exercise: Guessing Game with Map and Set
- Objects as Namespaces
- Advanced Functions
- Function Declarations
- Function Expressions
- Default Values
- Flexible Arguments
- Exercise: Flexible Arguments
- Closures
- Exercise: Closures
- Immediately-Invoked Function Expressions (IIFEs)
- Callbacks
- Recursion
- Exercise: Recursion
- Advanced Arrays
- Arrays
- Arrays Methods
- Iterators and Arrow Functions
- Iterators
- Arrow Functions
- Static Array Methods
- Array.isArray()
- Array.from()
- Array.of()
- Array Prototype Methods
- Array.prototype.fill()
- Array.prototype.filter()
- Array.prototype.find()
- Array.prototype.forEach()
- Array.prototype.indexOf()
- Array.prototype.keys()
- Array.prototype.map()
- Array.prototype.reduce()
- Exercise: Find the Mode
- XHR
- XMLHttpRequest
- The XMLHttpRequest Object
- Handling the Response
- Node.js
- Installing Node.js
- Running Node.js
- A First Node.js Application and Server
- Using the XMLHttpRequest Object
- Exercise: Ajax using the POST method
- The Callback Function
- Exercise: Displaying and Updating Records
- Promises
- CORS/JSONP: Accessing Remote Sites
- Exercise: Retrieving Country Info from GeoNames via CORS
- JSONP
- Exercise: Retrieving State Names from Yahoo! with JSONP
- CORS vs. JSONP Differences
- JSON
- JSON
- Review of Object Literals
- Arrays
- Objects
- Arrays in Objects
- Objects in Arrays
- Back to JSON
- JSON Syntax
- JSON Parsers
- Exercise: Using JSON
- Errors and Exceptions
- Runtime Errors
- Completely unhandled errors
- Globally handled errors
- Structured Error Handling
- Throwing custom errors
- Nested Try/Catch
- Exercise: Try/Catch/Finally
- Runtime Errors
- Regular Expressions
- Getting Started
- JavaScript’s Regular Expression Methods
- Flags
- String Methods
- Regular Expression Syntax
- Start and End ( ^ $ )
- Number of Occurrences ( ? + * {} )
- Common Characters ( . d D w W s S )
- Grouping ( [] )
- Negation ( ^ )
- Subpatterns ( () )
- Alternatives ( | )
- Escape Character ( )
- Backreferences
- Form Validation with Regular Expressions
- Exercise: Advanced Form Validation
- Cleaning Up Form Entries
- Exercise: Cleaning Up Form Entries
- Getting Started