training

NL/EN
Deze training is beschikbaar in het Nederlands en Engels. Meer informatie

JavaScript Development Advanced

Verbeter je JavaScript-vaardigheden met geavanceerde taalfeatures en technieken

17 februari 2025
- Veenendaal / Remote
2 dagen
1480 (ex BTW)

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 Sets en Maps 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:

CheckmarkDescribe 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.
UnderstandLogo InfoSupport
CheckmarkRecognize the challenges of working with this inside a JavaScript application.
RememberLogo InfoSupport
CheckmarkExplain the concept of prototypes and how prototypal inheritance allows for efficient object-oriented programming in JavaScript.
UnderstandLogo InfoSupport
CheckmarkExpress the reason for using Symbols and apply them to override features in the JavaScript runtime.
ApplyLogo InfoSupport
CheckmarkDifferentiate between Sets and Maps to choose the appropriate data structure for managing collections of unique values and key-value pairs.
AnalyzeLogo InfoSupport
CheckmarkExplain the iterator pattern and describe the role of generator functions in creating iterable sequences in JavaScript.
AnalyzeLogo InfoSupport
CheckmarkExplain the benefits of using Promises and async/await for handling asynchronous operations in JavaScript.
UnderstandLogo InfoSupport
Voor bovenstaande leerdoelen gebruiken we de Taxonomie van Bloom

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 en Map
  • Hun zwakkere tegenhangers, WeakSet en WeakMap

Lab: Sets en Maps

Na het afronden van deze module kunnen deelnemers:

  • Sets en Maps 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 trappen
  • Reflect 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

StartdatumDuurLocatie
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
Houd me op de hoogte van nieuwe data

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

"Ontzettend goede leraar."
Sander
  • icon

    Hoge waardering

  • icon

    Praktijkgerichte trainingen

  • icon

    Gecertificeerde trainers

  • icon

    Eigen docenten