Web Development


Exploring JavaScript - Scopes

Scope is one of the strongest pillar of JS & is essential to master advanced JS topics and code organisation skill.

4.90 (16 reviews)


2 hours


May 2021

Last Update
Regular Price

What you will learn

Deep understanding of JavaScript's Scope System and the compilation phase of JS programs

How JS Scope is organised using function declaration, function expressions and blocks.

Why IIFE works the way it does, what hoisting really is and how can we effectively organise our code using the knowledge of scopes.


JavaScript is that language that you need to know in order to build applications that work across the platforms and knowing about the JS from the point of the language specification is really important.

In this course, we will cover the most neglected topic in JavaScript which is Scopes. The course is heavily inspired by Chapter 8 of the ECMAScript Specification. Although the spec talks about Execution context, Agents, Job, Executing Context Stack, et al, however in this course, we will stick closer to the lexical environment and its subparts.

Scopes system is one of the strongest pillars of JavaScript. Scopes not only touch the execution phase but it starts from the code authoring and extends its root in the compilation phase.

The course discusses every detail of how the scope is created and how does JavaScript engine deals with the code structure to come up with a blueprint which is then handed over to the Execution Engine. We will go in-depth in understanding how our program is processed by the compiler and what steps lead to the creation of scope.

We will cover the fundamentals of code patterns that help us create a better-organized code. We will look at how function-expression, function-declaration, blocks, modules, and scripts are part of the scope system. We will cover in-depth detail of how and why immediately invoked function expressions (IIFE) works. We will also look at hoisting and by the time we reach here, you would have already understood why hoisting is something, that it actually is not.

Finally, we will look at the essential ES6 feature i.e. let, const, and var, and understand why their behavior and what are the effects of using one over the other. What you will learn in this course will make you a stronger JavaScript developer, improve your abilities in writing solid JavaScript code and it will lead you to understand some of the advanced concepts of JavaScript like closures, higher-order functions, and module pattern.


Exploring JavaScript - Scopes
Exploring JavaScript - Scopes
Exploring JavaScript - Scopes
Exploring JavaScript - Scopes


Scope & Variables

JS Compilation & Execution Phase

Introduction to Scope

Dynamic Global Variables

How is Scope Implemented

Function Level Scope

Function Expressions & Scopes

Function Scoping and IIFE

Block Level Scope

Block Scoping and Let-Const

What is Hoisting and What it is Not


Tushar4 June 2021

It is an excellent course for anyone who wants to either learn or brushup their javascript fundementals. These fundementals are extremely important to every javascript developer may it be frontend or backend. This course also has aptly sized videos and sections that are not too long so as to bore you. He explains every single details very meticulously. I recommend this course to anyone who is looking to either start as a javascript developer or someone who just wants to brushup his/her fundementals.

Jinal29 May 2021

The information is very efficiently presented and it is to the point. Definitely, the course is beneficial for both novice and advance level people.

Bhagyashree29 May 2021

I really enjoyed the course with practical tools that you can implemented and enhance the learning experience. Recommend this course to anyone who needs to know more about javascript. Amazing coach : D

Vikas7 May 2021

I had some development experience before (backend) and I wanted to really learn JavaScript and I must tell you, this is the best JavaScript course.

Sagar6 May 2021

His teaching methods are great. Very clear and concise. You are amazing at what you do! Your passion and dedication is beyond words! Thank you for providing this course.

Kaizer5 May 2021

A great perspective to learn about JavaScript in 2021. So much has evolved in the language in such a concise and simple manner ????. Sure recommend to those are beginning or even at intermediate level to explore the power of JavaScript

Geeta5 May 2021

Wonderfully insightful. I am half-way through the course and thought will leave a review before I finish. The course digs deep into explaining what happens behind the scene around the scope system. I was amazed to look at the 'big picture' from the ECMAScript spec. For me scopes, so far, was all about hoisting but after seeing the breadth of ideas that are part of JS spec what makes the scopes happen, I feel I know much more now. I am looking forward to how this concept relates to closure and what happens to the scope chain in that case. Great course! Keep up the great work! Thanks G


Udemy ID


Course created date


Course Indexed date
Course Submitted by