Opleiding: Advanced JavaScript Programming

The course Advanced JavaScript Programming covers many advanced aspects of the JavaScript programming language.

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.

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.

Modules

Module 1 : Scope and Context

  • Scope in JavaScript
  • var Keyword
  • Scope in Nested Function
  • Lexical Scope
  • Hoisting
  • Nested Anonymous Function
  • let and const Keyword
  • Immutability
  • Refresher on this
  • this in Global Scope
  • Lexical this
  • Binding this
  • apply and call Function
  • bind Function

Module 2 : Classes and Objects

  • Object Oriented Programming
  • Objects in JavaScript
  • Constructor Functions
  • Object Ancestor
  • _proto_ Property
  • Prototype Chains
  • Composing Prototypes
  • ES2015 Classes
  • Constructors
  • Static Keyword
  • Static Methods
  • Inheritance
  • Overriding Methods
  • super Keyword

Module 3 : ECMAScript Standards

  • 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

  • Function Declarations
  • Function Expressions
  • Default Parameters
  • Variable Arguments
  • Closures
  • Immediate Invocation and IIFE’s
  • Callbacks
  • Recursion
  • Currying
  • map and filter
  • ForEach
  • reduce

Module 5 : Promises and Async

  • 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

Module 6 : RxJS Observables

  • Observable sequence
  • Create Data Stream
  • Combining and merging
  • Filtering and transform
  • Creating Subjects
  • Emitting events
  • Subscribing to observables
  • Hot and Cold Observables
  • Laziness
  • Subscribe in RX
  • Observable Operators
  • flatmap, join, zip

Module 7 : Generators and Decorators

  • Iterables and Iterators
  • Iterator Protocol
  • next Function
  • Symbols
  • Built-in Symbols
  • Symbol.iterator
  • Generator Functions
  • yield Keyword
  • yield Expressions
  • Decorators
  • Aspect Orientation
  • Annotations
  • Class and Method Decorators

Module 8 : Components and Modules

  • 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 and External Modules
  • Imports and Exports

Module 9 : Ajax and REST API's

  • Ajax Web Applications
  • Ajax Asynchronous Model
  • Typical Ajax Interactions
  • Drawbacks of Ajax
  • XMLHttpRequest
  • Reading Responses
  • Fetch API
  • Loading JSON
  • REST API's
  • Standard Methods
  • Accessing Remote Sites
  • CORS
  • JSONP
Meer...
€1.999
ex. BTW
Aangeboden door
SpiralTrain
Onderwerp
JavaScript
Niveau
Duur
3 dagen
Looptijd
18 dagen
Taal
en
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Amsterdam
wo 15 jul. 2026
Eindhoven
wo 15 jul. 2026
Houten
wo 15 jul. 2026
Rotterdam
wo 15 jul. 2026
Utrecht
wo 15 jul. 2026
Zwolle
wo 15 jul. 2026
Amsterdam
wo 16 sep. 2026
Eindhoven
wo 16 sep. 2026
Houten
wo 16 sep. 2026
Rotterdam
wo 16 sep. 2026
Utrecht
wo 16 sep. 2026
Zwolle
wo 16 sep. 2026
Amsterdam
wo 18 nov. 2026
Eindhoven
wo 18 nov. 2026
Houten
wo 18 nov. 2026
Rotterdam
wo 18 nov. 2026
Utrecht
wo 18 nov. 2026
Zwolle
wo 18 nov. 2026
Amsterdam
wo 20 jan. 2027
Eindhoven
wo 20 jan. 2027
Houten
wo 20 jan. 2027
Rotterdam
wo 20 jan. 2027
Utrecht
wo 20 jan. 2027
Zwolle
wo 20 jan. 2027
Amsterdam
wo 17 mrt. 2027
Eindhoven
wo 17 mrt. 2027
Houten
wo 17 mrt. 2027
Rotterdam
wo 17 mrt. 2027
Utrecht
wo 17 mrt. 2027
Zwolle
wo 17 mrt. 2027
Amsterdam
wo 19 mei 2027
Eindhoven
wo 19 mei 2027
Houten
wo 19 mei 2027
Rotterdam
wo 19 mei 2027
Utrecht
wo 19 mei 2027
Zwolle
wo 19 mei 2027
Amsterdam
wo 21 jul. 2027
Eindhoven
wo 21 jul. 2027
Houten
wo 21 jul. 2027
Rotterdam
wo 21 jul. 2027
Utrecht
wo 21 jul. 2027
Zwolle
wo 21 jul. 2027
Amsterdam
wo 15 sep. 2027
Eindhoven
wo 15 sep. 2027
Houten
wo 15 sep. 2027
Rotterdam
wo 15 sep. 2027
Utrecht
wo 15 sep. 2027
Zwolle
wo 15 sep. 2027
Amsterdam
wo 17 nov. 2027
Eindhoven
wo 17 nov. 2027
Houten
wo 17 nov. 2027
Rotterdam
wo 17 nov. 2027
Utrecht
wo 17 nov. 2027
Zwolle
wo 17 nov. 2027
Keurmerken aanbieder
NRTO
UWV scholingsvoucher