JavaScript Fundamentals Training

Overview

Rating:
Duration:
( - Eastern)
Cost:
$975.00
JavaScript Fundamentals Logo

One of the core technologies of the Internet, JavaScript enables interactive web pages and is an essential part of web applications. It is the essential technology behind Single Page Applications (SPA) and Progressive Web Applications (PWA). Modern usages of JavaScript extend beyond the browser to include creating web servers and other utility applications facilitated by programs such as NodeJS.

Students will learn to use JavaScript effectively to make their web applications more dynamic and functional and to reduce the number of roundtrips to the server. Students will learn JavaScript syntax, how to work with variables, flow control logic, and AJAX calls, as well as gain an advanced understanding of how JavaScript objects and functions work. They will learn the latest JavaScript features added with ES2015, as well as how to make use of next-generation language features that are not yet supported by major browsers.

If you need customized content or another version of this course please contact us.

Live Online Schedule

  • Apr 15 - Apr 17
  • May 8 - May 10
  • Jun 17 - Jun 19
  • Jul 24 - Jul 26
  • Aug 28 - Aug 30
  • Sep 18 - Sep 20

Prerequisites

Experience in HTML is required and experience in CSS and programming would be beneficial.

Requirements

You will need the following software/setup for this class:

Students will need a text editor (we recommend Visual Studio Code, but any will do) and NodeJS installed.

Topics

  • Introduction
    • Modern Application Architecture
    • Language Versions and Browser Support
  • JavaScript Overview
    • JavaScript Syntax
    • Variables and Types
    • Strings and Template Strings
    • Operators
    • Objects
    • Arrays
    • Conditionals and Loops
    • Truthy and Falsey
    • Functions
    • Scope, var and let
    • Handling Exceptions
  • JavaScript in the Browser
    • The script Tag
    • Scripting Best Practices
    • The Window Object
    • Debugging JavaScript
  • The DOM
    • What is the DOM?
    • Node and NodeList
    • Searching the DOM
    • Navigating the DOM
    • Working with Attributes
    • NodeList vs. Array
    • Modifying the DOM
    • CSS Selectors
  • Event Handling
    • DOM Events in the Browser
    • Connecting Event Handlers
    • Event Parameters
    • load vs DOMContentLoaded
    • Event Propagation
    • Event Delegation
  • Objects in Depth
    • Object literals
    • Property and Method notation
    • Adding and Removing Members
    • Iterating over Properties
    • Execution Context and “this”
    • Object Destructuring
    • Spread Operator
    • Namespaces
    • Constructor Functions
    • Prototypes and Inheritance
  • Built-in JavaScript Objects
    • Date
    • RegExp
    • Error
    • String
    • Number
    • Array
    • Math
  • Arrays
    • Array Literals
    • Looping over Arrays
    • Finding Elements
    • Filtering and Mapping
    • Reducing
    • Spread Operator
  • Functions
    • Function Declaration vs. Function Expression
    • Hoisting
    • Default Parameters
    • Arguments and Variadic Functions
    • Call and Apply
    • Arrow Functions
    • Rest Operator
    • Closures
  • Modularization
    • Data Hiding
    • Privileged Methods
    • IIFEs
    • The Module Pattern
    • ES6 Modules
    • 3rd Party Module Loaders
  • AJAX
    • AJAX Examples
    • The XHR Object
    • Handling Responses and Content
    • Promises
    • AJAX Limitations
  • Client-side Data Storage
    • localStorage
    • sessionStorage
    • IndexedDB
  • Next Generation Features
    • Transpiling with Babel
    • Class Syntax
    • Property Descriptors
    • Freezing and Sealing Objects
    • Symbols