- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
De cursus Advanced JavaScript Programmeren is bedoeld voor ervaren Web developers die geavanceerde aspecten van JavaScript in Web Applications willen leren en toepassen.
Basis kennis van JavaScript en HTML is vereist. Voorafgaande kennis van Object Oriented Programming is bevorderlijk voor een goede begripsvorming.
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.
De deelnemers krijgen na het doorlopen van de cursus een officieel certificaat Advanced JavaScript Programmeren.
De cursus Advanced JavaScript Programmeren 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.
Vervolgens wordt aandacht besteed aan de vele nieuwe features die hun intrede hebben gedaan met de ECMAScript 2015 (ES6) standaard, zoals arrow of lambda functies, rest operators, spread operators en destructuring assignments. De veranderingen met de ECMAScript 2016 (ES7) standaard komen aansluitend aan de orde.
Dan is er aandacht voor Object Georienteerd programmeren in JavaScript dat nog steeds gebaseerd is op prototypes, maar sinds ES6 geprogrammeerd wordt met classes en objects. De JavaScript object orientatie is daardoor meer in lijn met wat gebruikelijk is in andere talen. Vervolgens komen een aantal geavanceerde aspecten van functies zoals functie objecten, immediate invocation, callbacks, closures en recursie aan de orde en is er aandacht voor geavanceerde functionele operaties op arrays zoals filter, map en reduce.
Na een systematische bespreking van hoe in JavaScript XML en JSON data kunnen worden benaderd, komen asynschrone Ajax calls met het XMLHttpRequest Object en de verwerking daarvan met Promises aan de orde. 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.
De cursus wordt afgesloten met een bespreking van het gebruik van Reguliere Expressies in JavaScript voor onder andere input validatie.
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 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 |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.