Cursusbeschrijving
JavaScript is vandaag de dag één van de meest populaire talen om in te programmeren. Wat ooit begon als “wat interactiviteit toevoegen aan de browser”, is inmiddels uitgegroeid tot een taal die zowel voor frontend, met webapplicaties en apps, als backend wordt ingezet.
Toch is JavaScript nog een enigszins onbeminde, onbekende, onbegrepen en onderschatte taal. Qua uiterlijk lijkt het veel op Java, maar schijn bedriegt. JavaScript kent slechts een simpel, dynamisch en flexibel typesysteem. Het heeft niet de classes, inheritance of encapsulatie zoals we dat in traditionele OO-talen gewend zijn. Gecombineerd met invloeden van functionele programmeertalen, vreemde scoping-regels en operatoren die verraderlijk anders werken dan in Java/C#, leidt dit tot een heel andere wereld dan de traditionele objectgeoriënteerde wereld van Java/C#/C++.
Lange tijd was het genoeg om JavaScript net voldoende te kennen om kleine functies te schrijven en een event in de browser af te vangen. Maar met de komst van de moderne ‘rich clients’ is dat veranderd. Gedegen, professionele kennis van de taal is nodig om de kracht ervan te gebruiken en de valkuilen te ontwijken.
Je leert het typesysteem van JavaScript kennen en leert welke rol de operatoren daarbij spelen. Je ziet welke operatoren en control structures anders werken dan in Java/C#/C++. Je gaat oefenen met lexical scoping en gebruikt de overeenkomsten (en verschillen) tussen functies, arrays en objecten. Verder zullen veelgebruikte technieken/constructies als destructuren, classes en modules doorgrond worden.
Wist je dat in JavaScript:
* geldt dat: 1 == true
++x niet altijd dezelfde waarde oplevert als x+1
Er geen public en private access modifiers bestaan, maar wel syntax voor getters en setters
Objecten, functies en arrays veel op elkaar lijken
De reflection API min of meer in de taal zit
Semicolon insertion meestal handig is, maar niet altijd
Vanaf ECMAScript 2015 zijn veel bestaande design patterns als taalelementen opgenomen. We besteden in deze training daarom ook uitgebreid aandacht aan de nieuwe versies van ECMAScript. Hierbij leert u de nieuwe syntax, patterns en mogelijkheden. Voorbeelden hiervan zijn de block bindings, destructuring, arrow functions, classes en modules
Deze training richt zich op ontwikkelaars met goede kennis van C#, Java, of C++, die JavaScript gaan gebruiken in een professionele omgeving.
Onderwerpen
Materiaal
Info Support cursusmateriaal
Voorkennis
Basis programmeervaardigheden. Bekendheid met objectoriëntatie