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

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

Footer

As one of Central Texas’s most experienced software education centers, a primary training vendor for the State of Texas, and a Microsoft Certified Solution Partner, Microassist has successfully worked with clients in fields ranging from advertising, real estate, law and politics to state and government agencies.