DEV Community

Ramya Sri M
Ramya Sri M

Posted on

1 1 1 1 1

Scope in JavaScript

In JavaScript, Scope defines how variables are accessed and managed throughout the program. There are four types of scope:

  • Global Scope
  • Local Scope
  • Block Scope
  • Module Scope

Global Scope

Global scope is defined by variables that are declared outside of any function and can be accessed anywhere in the program.

var gVar = "Global Scope";
function globalScope(){
   console.log(gVar)
}
globalScope()
console.log(gVar)
Enter fullscreen mode Exit fullscreen mode

Output

Global Scope

Local Scope

Local scope is defined by variables that are declared inside a function and can be accessed only within that function.

function localScope(){
   var lVar = "Local Scope";
   console.log(lVar)
}

localScope()
console.log(lVar)
Enter fullscreen mode Exit fullscreen mode

Output

Local Scope

Block Scope

Before ES6, JavaScript had only two types of scope: global scope and local scope. After ES6, two new keywords, let and const, were introduced. These keywords provide block scope in JavaScript. A block is defined by { } and variables declared inside a block can only be accessed within that block.

function blockScope(){
   let blockVar = "Block Scope";
   console.log(blockVar);
}
blockScope()
console.log(blockVar);
Enter fullscreen mode Exit fullscreen mode

Output

Block Scope

Module Scope

Module scope was officially introduced in JavaScript with ES6. In ES6, each module has its own scope, meaning variables and functions inside a module are private unless explicitly exported. This version introduced the import and export keywords, allowing modules to communicate with each other.

  • Export: Allows you to share variables, functions, or classes from a module.
  • Import: Allows you to bring in variables, functions, or classes from another module.

I hope this explanation clarifies the concept. If you have any questions or corrections, feel free to ask in the comments.

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (2)

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ β€’

There are actually four types of scope. You missed Module scope.

Collapse
 
ramya_srim profile image
Ramya Sri M β€’

You're right, thank you for pointing that out! I'll make sure to update it.

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs