Description
Modern web applications often grow into large and complex JavaScript systems. When this happens, the code can become hard to understand, change and maintain. This course is useful for teams working on larger JavaScript applications or maintaining complex codebases.
The Advanced JavaScript Programming course focuses on the language features that help developers manage this complexity. You will learn techniques that make JavaScript code clearer, easier to maintain and easier to extend. You will also learn how JavaScript handles asynchronous tasks, which are common in modern web applications.
The course covers advanced topics such as keyed collections, asynchronous programming, closures and modern object-oriented features. It also explains the relationship between JavaScript and TypeScript, and how the two languages are used in professional development.
Intended audience
This course is useful if:
- You need to understand advanced JavaScript features used in modern frameworks and libraries.
- You need to maintain or support JavaScript code that uses advanced language features.
- You are a JavaScript developer and you need to write cleaner JavaScript to reduce rework and long-term maintenance costs.
Prerequisites
- You must be comfortable working with HTML and CSS, either through our HTML and CSS course or equivalent practical experience.
- You should already have experience developing JavaScript code used in web pages or web applications. If you do not have this experience, first attend our JavaScript Programming course.
Course details
Price: R8,900 excluding VAT per delegate.
Included:
- Electronic course material.
- Attendance certificate (PDF).
Duration: 3 days.
Delivery: Virtual classroom
See how virtual training works.
See the course schedule for upcoming dates.
Booking information
Email your booking to info@incusdata.com. A purchase order, or completed enrolment form is sufficient.
We will confirm the booking and issue an invoice.
Course contents
Introduction
- Review core JavaScript concepts.
- Use JavaScript outside the browser.
Modern JavaScript Features
- Use destructuring assignment.
- Use rest parameters and spread syntax.
- Use optional chaining.
- Work with the Symbol type.
- Use modern collections such as Map and Set.
Advanced Function Techniques
- Understand variable scope and closures.
- Use recursion and understand the call stack.
- Use named function expressions.
- Bind functions and control execution context.
- Use arrow functions effectively.
Asynchronous JavaScript
- Understand the JavaScript concurrency model and event loop.
- Use callbacks.
- Work with Promises and promisification.
- Write asynchronous code using async and await.
- Coordinate multiple asynchronous operations.
Event-Driven Programming
- Work with browser events.
- Understand event bubbling and capturing.
- Use event delegation.
- Dispatch custom events.
- Load scripts using async and defer.
- Monitor DOM changes using MutationObserver.
Working with Objects
- Understand object references and copying.
- Understand JavaScript garbage collection.
- Convert objects to primitive values.
- Use property flags and descriptors.
- Create property getters and setters.
Classes and Object-Oriented Techniques
- Use modern class syntax.
- Implement inheritance using the prototype chain.
- Create static properties and methods.
- Use private class members.
- Extend built-in classes.
- Use mixins for code reuse.
Iteration and Generators
- Create generator functions.
- Use asynchronous iteration.
Modern JavaScript Data Structures
- Work with keyed collections such as Map, Set, WeakMap and WeakSet.
- Understand ArrayBuffer and binary arrays.
Network Communication
- Use the Fetch API.
- Submit data using FormData.
- Work with WebSocket connections.
- Use URL objects.
- Implement resumable file uploads.
JavaScript Modules
- Create modules using export and import.
- Use dynamic imports.
- Structure applications using modules.
JavaScript and TypeScript
- Understand why many projects use TypeScript.
- Compare JavaScript and TypeScript.
- Understand how TypeScript adds static typing.
- Understand how TypeScript compiles to JavaScript.