Course Advanced JavaScript Programming

  • Content
  • Training
  • Modules
  • General
  • Reviews
  • Certificate
  • Course Advanced JavaScript Programming : Content

    The course Advanced JavaScript Programming covers many advanced aspects of the JavaScript programming language. JavaScript has become increasingly prominent with the rise of client side Frameworks such as Angular, React and Vue. The language itself has also undergone rapid development with the new standards ECMAScript 2015, 2017, 2019 and 2020 and is equipped with many new features.

    Declarations and Scope

    The course starts with a discussion of scope in JavaScript, discussing the difference between var, let and const variable declarations and the concept of hoisting. The meaning and operation of the context dependent this keyword is also discussed.

    Classes and Objects

    Then there is attention for Object Oriented programming in JavaScript, which is still based on prototypes, but since ES6 is programmed with classes and objects. The JavaScript object orientation is therefore more in line with what is common in other languages.

    ECMA Standards

    Subsequently attention is paid to the many new features that have been introduced with the new ECMAScript standards 2015, 2017, 2018 and 2020, such as arrow or lambda functions, rest operators, spread operators and destructuring assignments, dynamic imports and optional chaining.

    Advanced Functions

    A number of advanced aspects of functions such as function objects, immediate invocation, callbacks, closures, currying and recursion are also discussed and attention is paid to advanced functional operations on arrays such as filter, map and reduce.

    Promises, Async and RxJSObservables

    Then different techniques for handling asynchronous calls such as Promises and the async await idiom are covered. And also Reactive Programming with RxJS Observables is treated.

    Module Systems

    Subsequently attention is paid to new Web Component specifications, such as shadow and shady DOM, HTML templates and HTML Imports. Module Systems such as CommonJS and AMD are also topics on the program.

    Ajax and REST APIs

    Finally a systematic discussion of how JavaScript makes asynchronous Ajax calls with the XMLHttpRequest Object and the fetch API on the program.

  • Course Advanced JavaScript Programming : Training

    Audience Course Advanced JavaScript Programming Course

    The course Advanced JavaScript Programming is designed for experienced Web developers who want to use advanced aspects of JavaScript in Web Applications.

    Prerequisites Course Advanced JavaScript Programming

    Basic knowledge of JavaScript and HTML is required. Prior knowledge of Object Oriented Programming is beneficial for a good understanding.

    Realization Training Advanced JavaScript Programming

    The course has a hands-on nature. The theory is treated by means of presentation slides and is interspersed with practical exercises. Demos are used to clarify the concepts. The course times are from 9.30 up and to 16.30.

    Certification Course Advanced JavaScript Programming

    Participants receive an official certificate Advanced JavaScript Programming after completion of the course.

    Course Advanced JavaScript Programming
  • Course Advanced JavaScript Programming : Modules

    Module 1 : Scope and Context

    Module 2 : Classes and Objects

    Module 3 : ECMAScript Standards

    Scope in JavaScript
    var Keyword
    Scope in Nested Function
    Lexical Scope
    Nested Anonymous Function
    let and const Keyword
    Refresher on this
    this in Global Scope
    Lexical this
    Binding this
    apply and call Function
    bind Function
    Object Oriented Programming
    Objects in JavaScript
    Constructor Functions
    Object Ancestor
    _proto_ Property
    Prototype Chains
    Composing Prototypes
    ES2015 Classes
    Static Keyword
    Static Methods
    Overriding Methods
    super Keyword
    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

    Module 5 : Promises and Async

    Module 6 : RxJS Observables

    Function Declarations
    Function Expressions
    Default Parameters
    Variable Arguments
    Immediate Invocation and IIFE’s
    map and filter
    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
    Observable sequence
    Create Data Stream
    Combining and merging
    Filtering and transform
    Creating Subjects
    Emitting events
    Subscribing to observables
    Hot and Cold Observables
    Subscribe in RX
    Observable Operators
    flatmap, join, zip

    Module 7 : Generators and Decorators

    Module 8 : Components and Modules

    Module 9 : Ajax and REST API's

    Iterables and Iterators
    Iterator Protocol
    next Function
    Built-in Symbols
    Generator Functions
    yield Keyword
    yield Expressions
    Aspect Orientation
    Class and Method Decorators
    Web Component Specifications
    Custom Elements
    Creating and Extending
    HTML Templates
    Activating Templates
    Shadow DOM
    Shady DOM
    Module Systems
    CommonJS Module System
    Asynchronous Module Definition
    Internal and External Modules
    Imports and Exports
    Ajax Web Applications
    Ajax Asynchronous Model
    Typical Ajax Interactions
    Drawbacks of Ajax
    Reading Responses
    Fetch API
    Loading JSON
    REST API's
    Standard Methods
    Accessing Remote Sites
  • Course Advanced JavaScript Programming : General

    Course Forms

    All our courses are classroom courses in which the students are guided through the material on the basis of an experienced trainer with in-depth material knowledge. Theory is always interspersed with exercises.


    We also do custom classes and then adjust the course content to your wishes. On request we will also discuss your practical cases.

    Course times

    The course times are from 9.30 to 16.30. But we are flexible in this. Sometimes people have to bring children to the daycare and other times are more convenient for them. In good consultation we can then agree on different course times.


    We take care of the computers on which the course can be held. The software required for the course has already been installed on these computers. You do not have to bring a laptop to participate in the course. If you prefer to work on your own laptop, you can take it with you if you wish. The required software is then installed at the start of the course.


    Our courses are generally given with Open Source software such as Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda and Netbeans. You will receive the digital course material to take home after the course.


    The course includes lunch that we use in a restaurant within walking distance of the course room.


    The courses are planned at various places in the country. A course takes place at a location if at least 3 people register for that location. If there are registrations for different locations, the course will take place at our main location, Houten which is just below Utrecht. A course at our main location also takes place with 2 registrations and regularly with 1 registration. And we also do courses at the customer’s location if they appreciate that.


    At the end of each course, participants are requested to evaluate the course in terms of course content, course material, trainer and location. The evaluation form can be found at https://www.klantenvertellen.nl/reviews/1039545/spiraltrain?lang=en. The evaluations of previous participants and previous courses can also be found there.


    The intellectual property rights of the published course content, also referred to as an information sheet, belong to SpiralTrain. It is not allowed to publish the course information, the information sheet, in written or digital form without the explicit permission of SpiralTrain. The course content is to be understood as the description of the course content in sentences as well as the division of the course into modules and topics in the modules.

  • Course Advanced JavaScript Programming : Reviews

  • Course Advanced JavaScript Programming : Certificate