training
JavaScript Development Advanced
Verbeter je JavaScript-vaardigheden met geavanceerde taalfeatures en technieken
Beschrijving
Deze training borduurt voort op onze training JavaScript Development Core.
Waar we in die training aandacht besteden aan kernvaardigheden voor het werken met JavaScript, gaan we in deze training een stap verder door te focussen op geavanceerdere taalfeatures en technieken. Deze kennis en vaardigheden komen sterk van pas nu steeds meer projecten de kracht van "vanilla JavaScript" maximaal willen benutten. Ook op projecten waar met React, Svelte, TypeScript of testframeworks als Cypress en Playwright wordt gewerkt komen geavanceerde technieken van pas bij het structureren van code.
Je leert in deze training over het geavanceerd gebruik van functies met arrow functions en closures, het geavanceerd gebruik van objecten met encapsulatie en proxies, wat JavaScript's inheritance-mechanisme voor je kan betekenen, wanneer Symbols van pas komen, wat Set
s en Map
s voor voordeel bieden, hoe iterators en generators interessante perspectieven bieden voor loops en tenslotte alles over het wrappen van asynchroon werk met Promises.
Deze training richt zich op ontwikkelaars die al een goede basis van JavaScript hebben en deze willen aanvullen om het in te zetten in een professionele omgeving. Kennis van C#, Java of C++ komt ook van pas.
Leerdoelen
Deze training behandeld de volgende leerdoelen:
Describe different types of functions in JavaScript, including function declarations, function expressions, arrow functions, IIFE and constructor functions, and their appropriate use cases to write clearer and more efficient code. | |
Recognize the challenges of working with this inside a JavaScript application. | |
Explain the concept of prototypes and how prototypal inheritance allows for efficient object-oriented programming in JavaScript. | |
Express the reason for using Symbol s and apply them to override features in the JavaScript runtime. | |
Differentiate between Sets and Maps to choose the appropriate data structure for managing collections of unique values and key-value pairs. | |
Explain the iterator pattern and describe the role of generator functions in creating iterable sequences in JavaScript. | |
Explain the benefits of using Promises and async/await for handling asynchronous operations in JavaScript. |
Benodigde voorkennis
Een goede basis van JavaScript. Kennis van C#, Java of C++ komt van pas
Onderwerpen
Advanced functions
In deze module leer je het geavanceerd gebruik van functies
Lessen
- Function properties
- Constructor functions
- Het mysterie van
this
uit de doeken - Arrow functions
- IIFE's
- Closures
- Template literals
Lab: Advanced functions
Na het afronden van deze module kunnen deelnemers:
- Bepalen wanneer een function en wanneer een arrow function te gebruiken
- Beredeneren waar
this
naar wijst - Alle voordelen van arrow functions benutten
- Aan de hand van IIFE's en closures begrijpen hoe libraries onder water werken
- IIFE's en closures inzetten wanneer de situatie zich daarvoor leent
Prototypes
In deze module leer je wat prototypes inhouden en het toepassen ervan
Lessen
- Prototypes
- Prototype chain
- Prototype instellen/veranderen
- Inheritance
super
Lab: Prototypes
Na het afronden van deze module kunnen deelnemers:
- Begrijpen hoe prototypes werken in JavaScript
- Prototypes inzetten voor bijv. inheritance of extension methods
- Begrijpen hoe classes zich verhouden tot prototypes
Symbols
In deze module leer je over Symbols: een value-type om iets uniek te adresseren
Lessen
- Symbols
- HEt value-type
- Ingebouwde symbols en het symbol registry
- Symbols en properties
- Libraries en symbols
Lab: Symbols
Na het afronden van deze module kunnen deelnemers:
- Symbols schrijven en benutten
- Met
Symbol.toPrimitive()
invloed uitoefenen op JavaScript-conversies
Sets and maps
In deze module leer je over de ingebouwde types Set
en Map
Lessen
Set
enMap
- Hun zwakkere tegenhangers,
WeakSet
enWeakMap
Lab: Set
s en Map
s
Na het afronden van deze module kunnen deelnemers:
Set
s enMap
s gebruiken wanneer de situatie zich daarvoor leent
Iterators and generators
In deze module leer je over itereren aan de hand van iterators en generators
Lessen
- Iterators,
Symbol.iterator()
en het Iterator pattern - Generators en
yield
Lab: Iterators and generators
Na het afronden van deze module kunnen deelnemers:
- Iterators en generators gebruiken
- Het iterator pattern implementeren
- Een generator schrijven
Advanced objects
In deze module leer je het geavanceerd gebruik van objecten
Lessen
- Static functions op objecten:
Object.is()
,Object.assign()
,Object.keys()
en meer Proxy
Reflect
- Encapsulatie
- Garbage collection
Lab: Advanced objects
Na het afronden van deze module kunnen deelnemers:
- Bepaalde static functies gebruiken als de situatie zich daarvoor leent
Proxy
gebruiken om interacties te trappenReflect
gebruiken voor reflection-achtige zaken- Functies/properties op verschillende manieren afschermen van andere stukken code
- Inhaken op wanneer een object wordt opgeruimd door de JavaScript-engine
Promises
In deze module leer je over asynchroon werk doen middels promises
Lessen
- Promises maken en gebruiken
- Promise chaining
- Errorhandling
- Waarden retourneren
- Static functies als
Promise.all()
,Promise.allSettled()
en meer - Handige technieken
async
/await
Lab: Asynchronously read the contents of multiple files
Na het afronden van deze module kunnen deelnemers:
- Promises aanmaken en gebruiken
- Errorhandling en chaining implementeren
- Omgaan met parallelle promises
async
/await
gebruiken voor betere leesbaarheid
Planning
Startdatum | Duur | Locatie | |
---|---|---|---|
17 februari 202518 februari 2025 | 2 dagen | Veenendaal / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie Veenendaal / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie | Inschrijven |
17 maart 202518 maart 2025 | 2 dagen | Veenendaal / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie Veenendaal / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie | Inschrijven |
7 april 20258 april 2025 | 2 dagen | Veenendaal / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie Veenendaal / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie | Inschrijven |
1 mei 20252 mei 2025 | 2 dagen | Utrecht / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie Utrecht / Remote Dit is een hybride training die remote gevolgd kan worden. Meer informatie | Inschrijven |
Incompany of persoonlijk advies nodig?
Onze opleidingsadviseurs denken graag met je mee om een persoonlijk advies te geven of een incompany training binnen jouw organisatie te vinden.
Trainers
Voorkennis trainingen
"Deze training was direct toepasbaar op het project"Cursist
-
Hoge waardering
-
Praktijkgerichte trainingen
-
Gecertificeerde trainers
-
Eigen docenten