Advanced JavaScript Programming
placeAmsterdam 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Amsterdam, Dag 1 event 19 maart 2026, 09:30-16:30, Amsterdam, Dag 2 event 20 maart 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Eindhoven, Dag 1 event 19 maart 2026, 09:30-16:30, Eindhoven, Dag 2 event 20 maart 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Houten, Dag 1 event 19 maart 2026, 09:30-16:30, Houten, Dag 2 event 20 maart 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Online, Dag 1 event 19 maart 2026, 09:30-16:30, Online, Dag 2 event 20 maart 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Rotterdam, Dag 1 event 19 maart 2026, 09:30-16:30, Rotterdam, Dag 2 event 20 maart 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 18 mrt. 2026 tot 20 mrt. 2026Toon rooster event 18 maart 2026, 09:30-16:30, Zwolle, Dag 1 event 19 maart 2026, 09:30-16:30, Zwolle, Dag 2 event 20 maart 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Amsterdam, Dag 1 event 21 mei 2026, 09:30-16:30, Amsterdam, Dag 2 event 22 mei 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Eindhoven, Dag 1 event 21 mei 2026, 09:30-16:30, Eindhoven, Dag 2 event 22 mei 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Houten, Dag 1 event 21 mei 2026, 09:30-16:30, Houten, Dag 2 event 22 mei 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Online, Dag 1 event 21 mei 2026, 09:30-16:30, Online, Dag 2 event 22 mei 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Rotterdam, Dag 1 event 21 mei 2026, 09:30-16:30, Rotterdam, Dag 2 event 22 mei 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 20 mei. 2026 tot 22 mei. 2026Toon rooster event 20 mei 2026, 09:30-16:30, Zwolle, Dag 1 event 21 mei 2026, 09:30-16:30, Zwolle, Dag 2 event 22 mei 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Amsterdam, Dag 1 event 16 juli 2026, 09:30-16:30, Amsterdam, Dag 2 event 17 juli 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Eindhoven, Dag 1 event 16 juli 2026, 09:30-16:30, Eindhoven, Dag 2 event 17 juli 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Houten, Dag 1 event 16 juli 2026, 09:30-16:30, Houten, Dag 2 event 17 juli 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Online, Dag 1 event 16 juli 2026, 09:30-16:30, Online, Dag 2 event 17 juli 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Rotterdam, Dag 1 event 16 juli 2026, 09:30-16:30, Rotterdam, Dag 2 event 17 juli 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 15 jul. 2026 tot 17 jul. 2026Toon rooster event 15 juli 2026, 09:30-16:30, Zwolle, Dag 1 event 16 juli 2026, 09:30-16:30, Zwolle, Dag 2 event 17 juli 2026, 09:30-16:30, Zwolle, Dag 3 |
placeAmsterdam 16 sep. 2026 tot 18 sep. 2026Toon rooster event 16 september 2026, 09:30-16:30, Amsterdam, Dag 1 event 17 september 2026, 09:30-16:30, Amsterdam, Dag 2 event 18 september 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 16 sep. 2026 tot 18 sep. 2026Toon rooster event 16 september 2026, 09:30-16:30, Eindhoven, Dag 1 event 17 september 2026, 09:30-16:30, Eindhoven, Dag 2 event 18 september 2026, 09:30-16:30, Eindhoven, Dag 3 |
Declarations and Scope
The course starts with a discussion of scope in JavaScript, discussing the difference between var, let and const variable declarations and the concept of hoisting. The meaning and operation of the context dependent this keyword is also discussed.
Classes and Objects
Then there is attention for Object Oriented programming in JavaScript, which 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.
ECMA Standards
Subsequently attention…

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Declarations and Scope
The course starts with a discussion of scope in JavaScript, discussing the difference between var, let and const variable declarations and the concept of hoisting. The meaning and operation of the context dependent this keyword is also discussed.
Classes and Objects
Then there is attention for Object Oriented programming in JavaScript, which 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.
ECMA Standards
Subsequently attention is paid to the many new features that have been introduced with the new ECMAScript standards 2015, 2017, 2018 and 2020, such as arrow or lambda functions, rest operators, spread operators and destructuring assignments, dynamic imports and optional chaining.
Advanced Functions
A number of advanced aspects of functions such as function objects, immediate invocation, callbacks, closures, currying and recursion are also discussed and attention is paid to advanced functional operations on arrays such as filter, map and reduce.
Promises, Async and RxJSObservables
Then different techniques for handling asynchronous calls such as Promises and the async await idiom are covered. And also Reactive Programming with RxJS Observables is treated.
Module Systems
Subsequently attention is paid to new Web Component specifications, such as shadow and shady DOM, HTML templates and HTML Imports. Module Systems such as CommonJS and AMD are also topics on the program.
Ajax and REST APIs
Finally a systematic discussion of how JavaScript makes asynchronous Ajax calls with the XMLHttpRequest Object and the fetch API on the program.
Audience Course Advanced JavaScript Programming Course
The 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 Course Advanced JavaScript Programming
Participants receive an official certificate Advanced JavaScript Programming after completion of the course.
Modules
Module 1 : Scope and Context
- Scope in JavaScript
- var Keyword
- Scope in Nested Function
- Lexical Scope
- Hoisting
- Nested Anonymous Function
- let and const Keyword
- Immutability
- Refresher on this
- this in Global Scope
- Lexical this
- Binding this
- apply and call Function
- bind Function
Module 2 : Classes and Objects
- Object Oriented Programming
- Objects in JavaScript
- Constructor Functions
- Object Ancestor
- _proto_ Property
- Prototype Chains
- Composing Prototypes
- ES2015 Classes
- Constructors
- Static Keyword
- Static Methods
- Inheritance
- Overriding Methods
- super Keyword
Module 3 : ECMAScript Standards
- ECMAScript 2015 up to 2020
- Arrow Functions
- Rest Parameters
- Spread Operator
- Template Strings
- Iteration with for..of
- Destructuring Assignments
- Exponentiation Operator
- Dynamic Imports
- Import Meta Data
- Module Syntax
- BigInt Data Type
- nullish Coalescing Operator
- Optional Chaining
Module 4 : Advanced Functions
- Function Declarations
- Function Expressions
- Default Parameters
- Variable Arguments
- Closures
- Immediate Invocation and IIFE’s
- Callbacks
- Recursion
- Currying
- map and filter
- ForEach
- reduce
Module 5 : Promises and Async
- Asynchronous Code
- Callbacks versus Promises
- Promise Chaining
- Creating Promises
- Resolving Promises
- Catching Errors
- Parallel Execution
- Promise States
- Consuming Promises
- Promises Guarantees
- Promises are Asynchronous
- Async Await
Module 6 : RxJS Observables
- Observable sequence
- Create Data Stream
- Combining and merging
- Filtering and transform
- Creating Subjects
- Emitting events
- Subscribing to observables
- Hot and Cold Observables
- Laziness
- Subscribe in RX
- Observable Operators
- flatmap, join, zip
Module 7 : Generators and Decorators
- Iterables and Iterators
- Iterator Protocol
- next Function
- Symbols
- Built-in Symbols
- Symbol.iterator
- Generator Functions
- yield Keyword
- yield Expressions
- Decorators
- Aspect Orientation
- Annotations
- Class and Method Decorators
Module 8 : Components and Modules
- 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 and External Modules
- Imports and Exports
Module 9 : Ajax and REST API's
- Ajax Web Applications
- Ajax Asynchronous Model
- Typical Ajax Interactions
- Drawbacks of Ajax
- XMLHttpRequest
- Reading Responses
- Fetch API
- Loading JSON
- REST API's
- Standard Methods
- Accessing Remote Sites
- CORS
- JSONP
Waarom SpiralTrain
SpiralTrain is specialist op het gebied van software development trainingen. Wie bieden zowel trainingen aan voor beginnende programmeurs die zich de basis van talen en tools eigen willen maken als ook trainingen voor ervaren software professionals die zich willen bekwamen in de nieuwste versie van een taal of een framework.
Onze trainingkenmerken zich door :
• Klassikale of online open roostertrainingen en andere
trainingsvormen
• Eenduidige en scherpe cursusprijzen, zonder extra kosten
• Veel trainingen met een doorlopende case study
• Trainingen die gericht zijn op certificering
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
