Advanced JavaScript Programmeren
"Goede uitleg, fijne training met precies de juiste diepgang, waarbij enorm veel lesmateriaal beschikbaar is en daarop ook heel goed voortgeborduurd kan worden. Dit in 3 dagen doornemen moet erg snel gebeuren, maar het tempo was eigenlijk goed te doen. Er was genoeg ruimte voor vragen en het tempo lag ook niet te hoog. Ik raad andere deelnemers wel aan de voorbeelden en extra lesmaterialen eventueel 's avonds tussen de lesdagen door al opnieuw door te spitten om de nieuwe lesstof met de daarbij behorende voorbeelden echt goed te kunnen leren." - 09-11-2022 16:08
"Goede uitleg, fijne training met precies de juiste diepgang, waarbij enorm veel lesmateriaal beschikbaar is en daarop ook heel goed voortgeb… alles lezen - 09-11-2022 16:08
placeAmsterdam 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Amsterdam, Dag 1 event 22 januari 2026, 09:30-16:30, Amsterdam, Dag 2 event 23 januari 2026, 09:30-16:30, Amsterdam, Dag 3 |
placeEindhoven 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Eindhoven, Dag 1 event 22 januari 2026, 09:30-16:30, Eindhoven, Dag 2 event 23 januari 2026, 09:30-16:30, Eindhoven, Dag 3 |
placeHouten 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Houten, Dag 1 event 22 januari 2026, 09:30-16:30, Houten, Dag 2 event 23 januari 2026, 09:30-16:30, Houten, Dag 3 |
computer Online: Online 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Online, Dag 1 event 22 januari 2026, 09:30-16:30, Online, Dag 2 event 23 januari 2026, 09:30-16:30, Online, Dag 3 |
placeRotterdam 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Rotterdam, Dag 1 event 22 januari 2026, 09:30-16:30, Rotterdam, Dag 2 event 23 januari 2026, 09:30-16:30, Rotterdam, Dag 3 |
placeZwolle 21 jan. 2026 tot 23 jan. 2026Toon rooster event 21 januari 2026, 09:30-16:30, Zwolle, Dag 1 event 22 januari 2026, 09:30-16:30, Zwolle, Dag 2 event 23 januari 2026, 09:30-16:30, Zwolle, Dag 3 |
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 |
Declarations en Scope
De cursus start met een behandeling van scope in JavaScript, waarbij het verschil tussen var, let en const variabele declaraties en het begrip hoisting wordt besproken. De betekenis en werking van het context afhankelijke keyword this wordt hierbij ook aan de orde gesteld.
Classes en Objects
Dan is er aandacht voor Object Georiënteerd programmeren in JavaScript dat nog steeds gebaseerd is op prototypes, maar sinds ES6 geprogrammeerd wordt met classes en objects. De JavaScript object oriëntatie is daardoor meer in lijn met wat gebruikelijk is in a…

Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Declarations en Scope
De cursus start met een behandeling van scope in JavaScript, waarbij het verschil tussen var, let en const variabele declaraties en het begrip hoisting wordt besproken. De betekenis en werking van het context afhankelijke keyword this wordt hierbij ook aan de orde gesteld.
Classes en Objects
Dan is er aandacht voor Object Georiënteerd programmeren in JavaScript dat nog steeds gebaseerd is op prototypes, maar sinds ES6 geprogrammeerd wordt met classes en objects. De JavaScript object oriëntatie is daardoor meer in lijn met wat gebruikelijk is in andere talen
ECMA Standaards
Vervolgens wordt aandacht besteed aan de vele nieuwe features die hun intrede hebben gedaan met de nieuwe ECMAScript standaarden 2015, 2017, 2018 en 2020, zoals arrow of lambda functies, rest operators, spread operators en destructuring assignments, dynamic imports en optional chaining.
Advanced Functions
Ook een aantal geavanceerde aspecten van functies zoals functie objecten, immediate invocation, callbacks, closures, currying en recursie komen aan de orde en is er aandacht voor geavanceerde functionele operaties op arrays zoals filter, map en reduce.
Promises, Async en RxJSObservables
Verschillende technieken voor het afhandeling van asynchrone calls zoals Promises en het async await idioom worden behandeld. En ook wordt ingegaan op Reactive Programming met RxJS Observables.
Module Systems
Aansluitend wordt aandacht besteed aan nieuwe Web Component specificaties, zoals shadow en shady DOM, HTML templates en HTML Imports. Ook Module Systemen zoals CommonJS en AMD zijn onderwerpen die op het programma staan.
Ajax en REST API's
Tenslotte staat een systematische bespreking van hoe in JavaScript asynchrone Ajax calls met het XMLHttpRequest Object en de fetch API worden gedaan op het programma.
Doelgroep Cursus Advanced JavaScript Programmeren
De cursus Advanced JavaScript Programmeren is bedoeld voor ervaren Web developers die geavanceerde aspecten van JavaScript in Web Applications willen leren en toepassen.
Voorkennis Cursus Advanced JavaScript Programmeren
Basis kennis van JavaScript en HTML is vereist. Voorafgaande kennis van Object Oriented Programming is bevorderlijk voor een goede begripsvorming.
Uitvoering Cursus Advanced JavaScript Programmeren
De cursus heeft een hands-on karakter. De theorie wordt behandeld aan de hand van presentatie slides en wordt afgewisseld met demos en praktische oefeningen. De cursustijden zijn van 9.30 tot 16.30.
Officieel Certificaat Advanced JavaScript Programmeren
De deelnemers krijgen na het doorlopen van de cursus een officieel certificaat Advanced JavaScript Programmeren.
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
"Goede uitleg, fijne training met precies de juiste diepgang, waarbij enorm veel lesmateriaal beschikbaar is en daarop ook heel goed voortgeborduurd kan worden. Dit in 3 dagen doornemen moet erg snel gebeuren, maar het tempo was eigenlijk goed te doen. Er was genoeg ruimte voor vragen en het tempo lag ook niet te hoog. Ik raad andere deelnemers wel aan de voorbeelden en extra lesmaterialen eventueel 's avonds tussen de lesdagen door al opnieuw door te spitten om de nieuwe lesstof met de daarbij behorende voorbeelden echt goed te kunnen leren." - 09-11-2022 16:08
"Goede uitleg, fijne training met precies de juiste diepgang, waarbij enorm veel lesmateriaal beschikbaar is en daarop ook heel goed voortgeb… alles lezen - 09-11-2022 16:08
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
