Code: INT303
Duration in days: 3
Download: Infosheet
€ 1499

Course Advanced JavaScript Programming

28-05 till 30-05-2018
30-07 till 01-08-2018
24-09 till 26-09-2018
26-11 till 28-11-2018
Your starting date
Region:

Audience Advanced JavaScript Programming Course

Course Advanced JavaScript ProgrammingThe course Advanced JavaScript Programming is designed for experienced Web developers who want to use advanced aspects of JavaScript in Web Applications.

Prerequisites Course Advanced JavaScript Programming

Basic knowledge of JavaScript and HTML is required. Prior knowledge of Object Oriented Programming is beneficial for a good understanding.

Realization Training Advanced JavaScript Programming

The course has a hands-on nature. The theory is treated by means of presentation slides and is interspersed with practical exercises. Demos are used to clarify the concepts. The course times are from 9.30 up and to 16.30.

Certification Advanced JavaScript Programming

Participants receive an official certificate Advanced JavaScript Programming after completion of the course.

Contents Course Advanced JavaScript Programming

The course Advanced JavaScript Programming starts with a treatment of scope in JavaScript, where the difference between var, let and const variable declarations and the term hoisting are discussed. The meaning and workings of the context dependent this keyword is also discussed here. Subsequently, attention is paid to the many new features that have made their appearance with the ECMAScript 2015 (ES6) standard, such as arrow or lambda functions, rest operators, spread operators and destructuring assignments. The changes with the ECMAScript 2016 (ES7) standard are dealt with subsequently. Then there is attention for Object Oriented programming in JavaScript that is still based on prototypes, but since ES6 is programmed with classes and objects. The JavaScript object orientation is therefore more in line with what is common in other languages. Subsequently, a number of advanced aspects of functions such as function objects, immediate invocation, callbacks, closures and recursion are discussed and attention is paid to advanced functional operations on arrays such as filter, map and reduce. After a systematic discussion of how XML and JSON data can be accessed in JavaScript, asynchronous Ajax calls with the XMLHttpRequest Object and its request processing with Promises are treated. Subsequently attention is paid to the new Web Component specifications, such as shadow and shady DOM, HTML templates and HTML Imports. Also Module Systems such as CommonJS and AMD are subjects on the course program. The last subject in the course is the use of Regular Expressions in JavaScript for a.o. input validation.

Module 1 : Scope and Context

Module 2 : ECMAScript 6 and 7

Module 3 : Classes and Objects

Scope in JavaScript
var Keyword
Scope in Nested Function
Lexical Scope
Hoisting
Nested Anonymous Function
let Keyword
const Keyword
Immutability
Refresher on this
this in Global Scope
Lexical this
Binding this
apply and call Function
bind Function
ECMAScript 6
Arrow Functions
Object Literal Syntax
Rest Parameters
Spread Operator
Template Strings
Iteration with for..of
Destructuring Assignments
Generators
Symbols
Built-in Symbols
ECMAScript 7
Array.prototype.includes
Exponentiation Operator
Shared Array Buffer
Object Oriented Programming
Objects in JavaScript
Constructor Functions
Object Ancestor
_proto_ Property
Prototype Chains
Prototype Keyword
Composing Prototypes
ES2015 Classes
Constructors
Static Keyword
Static Methods
Inheritance
Overriding Methods
super Keyword

Module 4 : Advanced Functions

Module 5 : Advanced Arrays

Module 6 : XML and JSON Access

Function Declarations
Function Expressions
Default Parameters
Variable Arguments
Argument Object
Array Conversion
Closures
Immediate Invocation and IIFE’s
Callbacks
Recursion
Runtime Errors
Globally Handled Errors
Structured Error Handling
Try and Catch
Arrays Review
Iterators
Arrow Functions
Array.isArray()
Array.from()
Array.of()
Array.prototype.fill()
Array.prototype.filter()
Array.prototype.find()
Array.prototype.forEach()
Array.prototype.indexOf()
Array.prototype.keys()
Array.prototype.map()
Array.prototype.reduce()
Document Object Model (DOM)
Properties and Methods
DOM Navigation
DOM Manipulation
DOM Node Types
Querying the DOM
What is JSON?
JSON Data Structures
JSON Object Representation
JSON Array
JSON with Array and Objects
JSON Conversion
JSON Parser
JSON Object Creation

Module 7 : Ajax and Promises

Module 8 : Components and Modules

Module 9 : Regular Expressions

Ajax Asynchronous Model
Creating XMLHttpRequest
Sending Requests
XMLHttpRequest Properties
Processing the Response
Accessing Remote Sites
Same Origin Policy
Cross Site Request Sharing
JSON with Padding
Promises
Promises Guarantees
Promise Chains
Chaining after Catch
ES7 Async Await
Web Component Specifications
Custom Elements
Creating and Extending
HTML Templates
Activating Templates
HTMLImports
Shadow DOM
Shady DOM
Module Systems
CommonJS Module System
Asynchronous Module Definition
Internal Modules
External Modules
Imports and Exports
JavaScript’s RegExp
String Methods
Regular Expression Syntax
Start and End ( ^ $ )
Number of Occurrences
Grouping ( [] )
Negation ( ^ )
Subpatterns ( () )
Alternatives ( | )
Escape Character ( \ )
Backreferences
Named Backreferences
Form Validation
Cleaning Up Form Entries

Kantooradres:
SpiralTrain BV

Gebouw "De Sijnsmeester"
Standerdmolen 8 – 1.11
3995 AA Houten

IP Computer Training Centrum
Diemerhof 32-36
1112 XN Diemen

020 7600027
http://www.ip-computer-training-centrum.nl

Compu Act Opleidingen
Slinge 303
3085 ER Rotterdam

023 - 551 3409
www.computertraining.nl

Trainspot
Kleine Singel 33
3572 CG Utrecht

030 - 737 05 81
http://www.trainspot.nl

IP Computer Training Centrum
Leenderweg 292
5644 AE Eindhoven

040 - 256 65 20
http://www.ip-computer-training-centrum.nl