Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Latest commit

History

History

Execution-Context

Folders and files

NameName
Last commit message
Last commit date

parent directory

..

README.md

Execution Context

Variables

A variable serves as a storage container for holding data. For instance,

let x = 5;

Here, x is a variable. It's storing 5.

In JavaScript, we use keyword var, let or const for declaring variables. Example,

let a;
var b;
const c;

Here, a, b and c are variables.

Var (Before ES6 (ES2015))

  • var variables are function scoped (Before ES6 (ES2015)).

What does this mean?

It means they are only available inside the function they're created in, or if not created inside a function, they are globally scoped.

var z = 9;
console.log(z); // Expected output: 9
var z = 5;
function aboutVar(){
var x = 42;
var z = 7;
console.log(x); // Expected output: 42
console.log(z); // Expected output: 7
}
aboutVar();
console.log(z); // Expected output: 5
console.log(x); // Error: x is not defined

let (ES6 (ES2015))

  • let variables are block scoped (ES6 (ES2015)).

in JavaScript, the let keyword introduces block-scoped variables. This means that a variable declared using let cannot be re-declared and only accessible within the block of code (enclosed by curly braces { }) in which it is defined.

let x = 1;
let x = 1;// error: Identifier 'x' has already been declared
let z = 9;
if(true){
let x = 42;
console.log(x); // Expected output: 42
console.log(z); // Expected output: 9
}
console.log(z); // Expected output: 9
console.log(x); // Error: x is not defined

Note: It is recommended we use let instead of var.

const(Constants) (ES6 (ES2015))

  • Like let declarations, const declarations can only be accessed within the block they were declared.

The value of a variable declared with const remains the same within its scope. It cannot be updated or re-declared. So if we declare a variable with const, we can neither do this:

const greeting = "say Hi";
greeting = "say Hello instead";// error: Assignment to constant variable.
const greeting = "say Hi";
const greeting = "say Hello instead";// error: Identifier 'greeting' has already been declared
const z = 9;
if(true){
const x = 42;
console.log(x); // Expected output: 42
console.log(z); // Expected output: 9
}
console.log(z); // Expected output: 9
console.log(x); // Error: x is not defined

Questions we might have in our mind?

  • What is ES6 (ES2015)?

ES6, also known as ECMAScript 2015 or ES2015, is a major update to the JavaScript language specification. It introduced a wide range of new features, syntax improvements, and APIs that significantly enhanced the capabilities of JavaScript for both browser and server-side development. ES6 was a significant milestone in the evolution of JavaScript, and many of its features have become fundamental to modern JavaScript programming. Batter explanation is here

  • What is function scope?

  • What is Global scope?

  • What is Block scope?

Note: Scope will be explained in scope section. Before learning scope we need to know about "execution context".