course

Class is guaranteed to run NL/EN
This training is available in Dutch and English. More information

JavaScript Fundamentals

Build production-ready JavaScript with confidence

April 20, 2026
- Utrecht / Remote
3 days
2415 (excl. VAT)

Description

JavaScript powers modern web applications, server-side services, and development tooling. To use it professionally, you need more than syntax: you need to understand how the language behaves in real code.

In this training, you build a solid foundation in JavaScript semantics, types, scope, and operators. You learn where JavaScript differs from classical OO languages and how to write predictable, maintainable code.

You practice with functions, arrays, and objects, and apply practical techniques such as destructuring, classes, and modules. The focus is on decisions you make every day that improve code quality and delivery speed.

Did you know that, in JavaScript:

  • "1" == true evaluates to true
  • ++x does not always result in the same value as x + 1
  • There are no public or private keywords, but there is syntax for getters and setters
  • Objects, functions, and arrays are closely related language constructs
  • Reflection capabilities are largely built into the language
  • Semicolon insertion is often useful, but can still surprise you
  • Modern ECMAScript includes language features that replace older boilerplate patterns, such as block bindings, destructuring, arrow functions, classes, and modules

This course is for developers who build software professionally and want to use JavaScript with confidence, including developers transitioning from C#, Java, or C++.

Prior Knowledge

Basic programming skills. Familiarity with object-oriented concepts.

Subjects

Types

In this module, you build a practical understanding of JavaScript's type system.

Lessons

  • Built-in types
  • Primitive types such as number, string, null, undefined, etc.
  • Reference types and built-in objects such as globalThis
  • Regular expressions
  • Variable declarations and their scope

After completing this module, students will be able to:

  • Explain how JavaScript handles values and types
  • Distinguish clearly between var, let and const

Conversions

In this module, you learn how JavaScript performs type conversions and coercion.

Lessons

  • When conversions take place
  • JavaScript's conversion preferences
  • Object/Array to string/number
  • number to string
  • string to number

After completing this module, students will be able to:

  • Identify when conversions take place
  • Explain how objects and primitive values are converted

Operators

In this module, you learn how to use JavaScript's operators safely and effectively.

Lessons

  • == vs ===
  • typeof, instanceof, delete, etc.
  • x ? y : z, ..., ||, &&, ??, **, etc.
  • +, **, ??=, ||=, etc.

Lab: types, conversions and operators

After completing this module, students will be able to:

  • Explain the difference between &&, || and ??
  • Recognize key operators and choose the right one for the job

Control structures

In this module, you learn to apply JavaScript's control structures in production code.

Lessons

  • Standard control structures such as for, if and while
  • switch
  • for..in and for..of
  • Exception handling
  • Strict mode
  • Semicolon insertion

After completing this module, students will be able to:

  • Choose correctly between for..in and for..of
  • Throw and handle exceptions effectively
  • Apply strict mode in the right contexts
  • Make consistent decisions about semicolon usage

Arrays

In this module, you learn how JavaScript arrays work and why they differ from fixed-size arrays.

Lessons

  • Create and use arrays
  • Why JavaScript arrays are not your typical arrays
  • Use array functions
  • Use the spread operator with arrays

Lab: Arrays

After completing this module, students will be able to:

  • Work with arrays confidently in professional code

Objects

In this module, you learn to create, model, and manipulate objects effectively.

Lessons

  • Create objects
  • Object literals
  • Different notations for accessing properties
  • Duplicate properties and their applications
  • Using the JSON object

Lab: Objects

After completing this module, students will be able to:

  • Work with objects in a professional manner
  • Create factories
  • Convert objects to JSON and vice versa

Functions

In this module, you learn to use functions as a core design tool in JavaScript.

Lessons

  • Function hoisting
  • Function parameters and default parameters
  • Block-level functions
  • Arrow functions: () => {}

Lab: Functions

After completing this module, students will be able to:

  • Handle functions professionally
  • Apply function parameters and default parameters effectively
  • Determine when to use regular functions and when to use an arrow function

Destructuring

In this module, you learn how destructuring improves readability and intent in code.

Lessons

  • Destructuring objects
  • Destructuring arrays
  • Destructuring an object/array combination
  • Set default values and aliases
  • Using the rest operator in combination with destructuring
  • Practical applications of destructuring

Lab: Destructuring

After completing this module, students will be able to:

  • Destructure complex objects and arrays
  • Recognize when destructuring is the most practical option

Classes

In this module, you learn to use classes clearly and pragmatically in JavaScript.

Lessons

  • Define and use classes
  • Class expressions
  • Getters/setters
  • static
  • Inheritance
  • Overriding functions
  • Abstract classes

Lab: Classes

After completing this module, students will be able to:

  • Define and use classes
  • Write getters/setters on a class
  • Define static functions and properties
  • Apply inheritance where it adds value
  • Build classes that behave as abstract contracts

Modules

In this module, you learn to structure applications in a modular way using ES Modules.

Lessons

  • Why modules
  • Modules in the browser
  • import, export and their variations
  • Getting acquainted with module bundlers

Lab: Modules

After completing this module, students will be able to:

  • Work in a modular way using ES Modules
  • Understand the advantages of module bundlers

Schedule

Start dateDurationLocation
April 20, 2026April 21, 2026April 22, 2026
Class is guaranteed to run
3 days
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
May 4, 2026May 5, 2026May 6, 2026
3 days
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
June 1, 2026June 2, 2026June 3, 2026
3 days
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Sign up

All courses can also be conducted within your organization as customized or incompany training.

Our training advisors are happy to help you provide personal advice or find Incompany training within your organization.

Trainers

Prior knowledge courses

Follow-up courses

"Extremely good teacher"
Sander
  • icon

    Hoge waardering

  • icon

    Praktijkgerichte trainingen

  • icon

    Gecertificeerde trainers

  • icon

    Eigen docenten