Advanced JavaScript Development Training

About the Training

The Advanced JavaScript Development Training is a comprehensive course designed to provide web developers with the skills needed to gain a deeper understanding of the JavaScript programming language and develop complex web applications.

At the start of the training, we quickly review the fundamental concepts of JavaScript before participants move on to more complex topics. At this stage, the course focuses on advanced JavaScript features such as functional programming, asynchronous programming, modules, and classes.

In the second section, performance optimization and debugging methods in JavaScript are covered. We guide participants on how to measure and optimize the performance of JavaScript applications. You will also learn how to resolve complex errors using debugging tools and techniques.

The third section focuses on working with modern JavaScript libraries and frameworks. We explore the core features and usage of popular JavaScript frameworks like React, Angular, and Vue.js.

In the fourth section, participants learn effective ways to work with RESTful APIs and GraphQL. We also cover asynchronous data exchange methods using AJAX and Fetch APIs.

Security is addressed as a separate section in the training. You will learn how to identify and prevent security vulnerabilities in JavaScript-developed applications and how to protect against security threats like XSS and CSRF.

Throughout the training, students develop real-world examples and complex hands-on projects. This allows participants to apply their theoretical knowledge in practice and use advanced JavaScript skills in real scenarios.

The Advanced JavaScript Development Training is ideal for web developers already familiar with JavaScript who want to take their skills further to develop complex and effective web applications.

You can click here to explore all our other JavaScript and Front-End Web Application Development training courses. This training is especially valuable for professionals who want to specialize in modern web technologies and advance their careers.

What Will You Learn?

In the Advanced JavaScript Development training, you can learn advanced concepts and applications of the JavaScript programming language. Example topics may include:
  • Object-Oriented Programming (OOP)
  • Design Patterns
  • Functional Programming
  • Modules and Namespaces
  • Async and Concurrent Programming
  • Advanced JavaScript APIs (e.g., Fetch, Web Workers)
  • Webpack, Babel, and other Build Tools
  • JavaScript Frameworks (e.g., React, Angular, Vue)
  • Unit Testing and Automation
  • Performance Optimization Techniques
These topics teach you the techniques needed to develop, configure, and test JavaScript applications.

Prerequisites

The following prerequisites are generally required for the Advanced JavaScript Development training:
  • Basic knowledge of HTML, CSS, and JavaScript
  • Understanding of JavaScript loops, functions, objects, and arrays
  • A foundational understanding of advanced JavaScript topics such as DOM manipulation, AJAX, and RESTful APIs
These prerequisites may vary depending on the level of the training provided and the skills of the target audience determined by the training institution.

Who Should Attend?

The Advanced JavaScript Development training may be suitable for the following individuals:
  • Web developers who want to gain advanced proficiency in JavaScript programming languages
  • Developers who want to learn more about configuring, testing, and optimizing the performance of applications developed with JavaScript
  • Developers who want to use JavaScript frameworks (such as React, Angular, Vue)
  • Developers who want to learn advanced usage of JavaScript and the configuration of its applications
The content and level of the training may vary based on the current knowledge and skills of the participants interested in taking the course.

Outline

JavaScript Design Patterns
  • Review of JavaScript Fundamentals
  • JavaScript Types
  • Variables
  • Operators
  • Control Structures
  • Objects and Arrays
  • Functions
  • Functional Programming with IIFE
  • Object-Oriented JavaScript Programming
  • Class
  • Constructor
  • Object
  • Property
  • Method
  • Namespace
  • Inheritance
  • Encapsulation
  • Polymorphism
  • JavaScript Design Patterns
  • Constructor Pattern
  • Module Pattern
  • Singleton Pattern
  • Prototype Pattern
  • Observer/Publish-Subscribe Pattern
  • Factory Pattern
  • MV* Patterns
  • The MVC Pattern
  • The MVVM Pattern
  • Templating and Views
JSON and AJAX
  • Introduction to JSON syntax
  • JSON Methods
  • stringify()
  • parse()
  • Persisting JSON in Web Storage
  • AJAX
Overview of JavaScript in HTML5 APIs
  • Web Storage API
  • Checking for Web Storage support
  • length Property of Web Storage
  • setItem() Method of Web Storage
  • getItem() Method of Web Storage
  • removeItem() and clear() Methods of Web Storage
  • key() Method of Web Storage
  • Web Workers and Cross-Document Messaging APIs
  • Checking for Web Workers support
  • Constructing a Web Worker
  • Using Cross-Document Messaging for a Web Worker
  • Constructing a Web Worker
  • Stopping a Web Worker
  • Combining the Cross-Document Messaging and Web Worker APIs
  • Drag and Drop API
  • Creating a draggable element
  • Setting dataTransfer information at the ondragstart event
  • Specifying an alternative drag image
  • Designating a drop target
  • Making the target droppable
  • Getting transferred data on the drop event
  • Canvas API Basics
  • Setting the <canvas> tag in the HTML page
  • Providing fallback content
  • Required closing tag
  • The 2D rendering context
  • Checking for Canvas API support
  • Drawing rectangles and squares
  • Alternate method for drawing rectangles and squares
  • Drawing circles
  • Drawing semi-circles
  • Drawing custom shapes
  • Best practice: setting a beginning and end to the shape’s path
  • Drawing multiple shapes
  • Adding text
  • Adding shadows
  • Adding an image
  • Animating the canvas
ECMAScript 6
  • Scoping and Modules
  • Lexical Variable Scoping
  • Block Scoping
  • ES6 Modules
  • Iterators
  • Arrow Functions and Destructuring Assignment
  • Arrow Functions
  • Destructuring Assignment
  • Literals and Constants
  • Template Literals
  • Constants
  • Parameter Handling
  • Default Parameter Values
  • Spread Operator
  • Rest Parameter
  • New Built-in Methods and Internationalization Formatting
  • New Array Methods
  • New String Methods
  • New Number Methods
  • Internationalization and Localization Formatting
  • Classes
  • Defining Classes
  • Getter/Setters
  • Using a Derived Class to Create a Base Class
  • Using super in Classes
  • Static Methods
  • Map/Set and WeakMap/WeakSet
  • Map
  • Iterating Maps with for/of
  • Set
  • WeakMap/WeakSet
  • Asynchronous Flow Control
  • Promises
JavaScript Libraries and Frameworks
  • Overview of JavaScript Libraries
  • DOM Libraries
  • jQuery
  • jQuery UI
  • jQuery Mobile
  • MVC Frameworks
  • js
  • AngularJS
  • EmberJS
  • KnockoutJS
  • js
  • MEAN Stack
  • NPM
  • Miscellaneous Libraries
  • Modernizr
  • js
  • Handlebars
  • RequireJS
  • TypeScript
Debugging
  • Debugging JavaScript
  • Writing to the JavaScript console
  • Setting breakpoints
  • JavaScript strict mode
  • Custom error handling

Training Request Form