!Deprecated notice:

Courses have been deprecated. Now there won't be any more courses on Codeguage. The learning model has now changed from a course-based platform to a practice-based platform. For practice, head over to the page showcasing practiceables.

Advanced JavaScript

The real-pro aspects of JavaScript

Intermediate
10 hrs 1 min
30 chapters

Overview

Since its inception in 1995, JavaScript has grown to become one of the most popular programming languages around the globe and also to become a highly complex beast. With the adaptation of ECMAScript 6 (a.k.a. ECMAScript 2015), the language got a massive overhaul and, since then, has continued to become better and better than ever before. Added to this the innovations of the browser landscape, it now clearly means that covering all aspects of JavaScript in one single course is close to impractical.

In this course, we explore the advanced side of JavaScript. We cover such things as intersection observers; promises, and how they simplify asynchronous code; file-handling APIs; buffers and working with binary data; web storage, and how to leverage it in place of cookies to store data on the client; and much more.

All modern day code heavily uses at least one of these ideas and, likewise, it's vital for a JavaScript developer to have a stronghold on these aspects of the language to ensure a smooth developer experience.

Prerequisites

  • JavaScript

    This course explores the advanced aspects of JavaScript, so obviously it's a clear requirement.

Learning outcomes

  1. The sixth primitive type in JavaScript i.e symbols, and how to work with them to get into some internal operations of the language.
  2. The IntersectionObserver API and how to use it in place of scroll events to monitor the appearance of elements into a root element.
  3. What are iterables and how to iterate over them in a very convenient way using the for...of loop.
  4. What are iterators and how to use them to govern the behavior of iteration done by for...of, or otherwise manually.
  5. How to use generators to define infinite sequences and use lazy evaluation to save resources when computing large collections; and even how to combine the results of multiple generators by means of delegation.
  6. How to obtain File objects from file input elements and the drag..drop API; and then retrieve useful information from these File objects.
  7. The ways in which to process File objects by creating objects URLs for them or by reading them using the FileReader API.
  8. What are blobs in JavaScript and how to use the Blob API to create file-like objects.
  9. What's meant by the term 'callback hell' and how the Promise API is provided to mitigate it.
  10. How to shift from storing client-only data in cookies to the Storage API - made accessible via two global properties: localStorage and sessionStorage.

and a lot more...

Table of contents

  1. Here we'll get our hands firm on the basics of JavaScript and some of the simpler concepts of advanced JavaScript before moving on to specifically target a couple of its common APIs.

  2. In this unit, we'll take a look into the standard module system in JavaScript, known as ECMAScript modules. We'll explore the import and export keywords and how to work with dynamic imports using the import() function.

  3. In this unit, we shall cover the IntersectionObserver API to monitor elements entering into a root element.

  4. In this unit, we shall discover modern iteration in JavaScript. This includes the for...of loop, iterables and iterators. After that, we'll move over to consider generator functions and how they extend iteration capabilities.

  5. This unit is dedicated to explore file handling capabilities of JavaScript. Specifically we'll be seeing the File, Blob and FileReader APIs in detail and even the concept of object URLs.

  6. Promises are meant to simplify asynchronous programming in JavaScript. In this unit we shall understand how to create basic promises, how to chain promises and finally how to handle errors occuring in promises.

  7. This whole unit is dedicated to teaching you fixed-type arrays in JavaScript known as typed arrays, and how they are stored internally in buffers.

  8. In this unit we will cover an extremely useful concept of JavaScript i.e storage. We'll see the two mechanism of storing data locally on the client - localStorage and sessionStorage.

Other courses

HTML

A language to define the content and structure of webpages