JavaScript Fundamentals
placeUtrecht 20 apr. 2026 tot 22 apr. 2026Toon rooster event 20 april 2026, 09:00-16:00, Utrecht event 21 april 2026, 09:00-16:00, Utrecht event 22 april 2026, 09:00-16:00, Utrecht |
Meer weten over de onderwerpen die aan bod komen en de vereiste voorkennis? Neem vrijblijvend contact met ons op.
Learn professional JavaScript development
Description
JavaScript is yet an unknown, underappreciated, misunderstood and underestimated language. In its syntax, it much resembles Java, but it has its own very distinct semantics. JavaScript has a simple, dynamic and flexible type system. It doesn't have the classes, inheritance or encapsulation that we're used to in traditional OO-languages. Furthermore, JavaScript has influences from functional programming, strange scoping rules, and operators that differ treacherously from Java/C#. This all leads us to a very different world than the one we're traditionally used to with Java/C#/C++.
For a long time, it was sufficient to know only the basics …
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
Meer weten over de onderwerpen die aan bod komen en de vereiste voorkennis? Neem vrijblijvend contact met ons op.
Learn professional JavaScript development
Description
JavaScript is yet an unknown, underappreciated, misunderstood and underestimated language. In its syntax, it much resembles Java, but it has its own very distinct semantics. JavaScript has a simple, dynamic and flexible type system. It doesn't have the classes, inheritance or encapsulation that we're used to in traditional OO-languages. Furthermore, JavaScript has influences from functional programming, strange scoping rules, and operators that differ treacherously from Java/C#. This all leads us to a very different world than the one we're traditionally used to with Java/C#/C++.
For a long time, it was sufficient to know only the basics of JavaScript in order to write small functions and handle events in a browser. But with the arrival of modern 'rich clients', that has changed. A solid and professional understanding of the JavaScript language in necessary to utilize its full power and to avoid its pitfalls.
You will become familiar with the type system of JavaScript and the role of its operators. You will find out which operators and control structures work different compared to C#/Java/C++. You will practice with lexical scoping and learn to use the similarities (and differences) between functions, arrays, and objects. You will also learn about often used techniques and constructions, like destructuring, classes and modules.
Did you know that, in JavaScript:
- it's true that: "1" == true
- ++x doesn't always result in the same value as x+1
- There are no public or private access modifiers, but there is a syntax for getters and setters
- Objects, functions and arrays look very much alike
- The reflection API is more or less built into the language
- Semicolon insertion is often useful, but not always
- Starting with ECMAScript 2015, a lot of existing design patterns have been included as language features. This is why we extensively cover the new versions of ECMAScript. Among other topics, you'll learn new syntaxes, patterns and possibilities. Examples of these are block bindings, destructuring, arrow functions, classes and modules
This course is meant for developers with a working knowledge of C#, Java, or C++, that will use JavaScript in a professional environment.
Subjects
TypesIn this module, you will learn about JavaScript's type system.
Lessons
- Built-in types
- Primitive types like number, string, null, undefined, etc.
- Reference types and built-in objects such as globalThis
- Regular expressions
- Variable declaration and their scope
After completing this module, students will be able to:
- Understand how JavaScript handles types
- Know the difference between var, let en const
In this module, you will learn everything about JavaScript's conversions
Lessons
- When conversions take place
- JavaScript's preferences with conversions
- Object/Array to string/number
- number to string
- string to number
After completing this module, students will be able to:
- Understand when conversions take place
- Understand how objects and primitive values are converted
In this module, you will learn about JavaScript's operators
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:
- Name the difference between &&, || and ??
- Recognize all operators and know their usefulness
In this module, you will learn about JavaScript's control structures
Lessons
- Standard control structures like 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:
- Know when to use in and of with for-loops
- Throwing and handling exceptions
- Taking advantage of strict mode
- Determine whether you're pro-semicolons or against
In this module, you will learn to work with arrays and that arrays in JavaScript secretly aren't arrays
Lessons
- Create and use arrays
- That JavaScript arrays are not your typical arrays
- Use Array functions
- Use the spead-operator with arrays
Lab: Arrays
After completing this module, students will be able to:
- Interact with arrays on a professional level
In this module, you will learn to create, use and otherwise interact with objects
Lessons
- Create objects
- Object literals
- Different notations for accessing properties
- Duplicate properties and its applications
- Using the JSON-object
Lab: Objects
After completing this module, students will be able to:
- Handle objects in a professional manner
- Create factories
- Convert objects to JSON and vice versa
In this module, you will learn to professionally interact with functions
Lessons
- The hoisting of functies
- Function parameters and default parameters
- Block-level functions
- Arrow functions: () => {}
Lab: Functions
After completing this module, students will be able to:
- Professionally handling functions
- Use function parameters and default parameters
- Determine when to use "regular" functions and when to use an arrow function
In this module, you will learn how to destruct objects and arrays
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 a complex object or array
- Recognize when a situation practically lends itself for destructuring
In this module, you will learn to professionally handle classes
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
- Make a class functionally abstract
In this module, you will learn to work in a modular fashion 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 fashion using ES Modules
- See the advantages of module bundlers
Er zijn nog geen veelgestelde vragen over dit product. Als je een vraag hebt, neem dan contact op met onze klantenservice.
