JavaScript Scope কী? Global, Function ও Block Scope বাংলা গাইড

JavaScript Scope কী? Global Scope, Function Scope এবং Block Scope কীভাবে কাজ করে তা var, let ও const-এর সহজ উদাহরণসহ বাংলা ভাষায় জানুন।

JavaScript Scope কী? Global, Function এবং Block Scope

JavaScript এ Scope বলতে বোঝায় একটি Variable কোথায় তৈরি হয়েছে এবং কোডের কোন জায়গা থেকে সেই Variable ব্যবহার করা যাবে। একটি Variable সব জায়গা থেকে ব্যবহার করা যাবে কিনা, তা তার Scope-এর উপর নির্ভর করে।

JavaScript এ প্রধানত Global Scope, Function Scope এবং Block Scope রয়েছে।

JavaScript Scope কী?

সহজভাবে বললে, Scope হলো একটি Variable-এর কাজ করার সীমা। অর্থাৎ Variable কোথায় Access বা ব্যবহার করা যাবে, সেটাই Scope নির্ধারণ করে।

JavaScript Scope এর প্রধান ধরন

  1. Global Scope
  2. Function Scope
  3. Block Scope

Global Scope কী?

কোনো Variable যদি Function বা Block এর বাইরে Declare করা হয়, তাহলে সেটি সাধারণত Global Scope-এ থাকে। Global Variable কোডের বিভিন্ন জায়গা থেকে ব্যবহার করা যেতে পারে।

let x = 10;

function myFunction() {
  console.log(x);
}

myFunction();

এখানে x একটি Global Variable। তাই Function-এর ভিতর থেকেও x ব্যবহার করা যাচ্ছে।

Global Scope এর উদাহরণ

let name = "John";

console.log(name);

এখানে name Function বা Block-এর বাইরে তৈরি হয়েছে। তাই এটি Global Scope-এ রয়েছে।

Function Scope কী?

একটি Function-এর ভিতরে Declare করা Variable সাধারণত সেই Function-এর ভিতরেই ব্যবহার করা যায়। Function-এর বাইরে থেকে সেটি Access করা যায় না। একে Function Scope বলা হয়।

function myFunction() {
  let x = 10;

  console.log(x);
}

myFunction();

এখানে x শুধু myFunction()-এর ভিতরে ব্যবহার করা যাবে।

Function এর বাইরে Variable ব্যবহার করলে

function myFunction() {
  let x = 10;
}

console.log(x);

উপরের কোডে Error হবে। কারণ x Function-এর ভিতরে Declare করা হয়েছে এবং Function-এর বাইরে এর কোনো Access নেই।

var, let এবং const এর Function Scope

একটি Function-এর ভিতরে var, let অথবা const দিয়ে Declare করা Variable Function-এর বাইরে ব্যবহার করা যায় না।

function myFunction() {
  var x = 1;
  let y = 2;
  const z = 3;

  console.log(x);
  console.log(y);
  console.log(z);
}

myFunction();

কিন্তু নিচের কোডগুলো Function-এর বাইরে Error দিবে:

console.log(x);
console.log(y);
console.log(z);

Block Scope কী?

Curly Brackets { }-এর ভিতরে তৈরি হওয়া একটি নির্দিষ্ট Scope-কে Block Scope বলা হয়। JavaScript এর let এবং const Block Scope অনুসরণ করে।

{
  let x = 2;
  const y = 5;

  console.log(x);
  console.log(y);
}

Block-এর ভিতরে x এবং y ব্যবহার করা যাবে। কিন্তু Block-এর বাইরে ব্যবহার করা যাবে না।

{
  let x = 2;
}

console.log(x);

এখানে Error হবে, কারণ x শুধু { } Block-এর ভিতরে কাজ করে।

var কি Block Scope?

না। var Block Scope অনুসরণ করে না। var দিয়ে একটি Block-এর ভিতরে Variable Declare করলেও সেটি Block-এর বাইরে ব্যবহার করা যেতে পারে।

{
  var x = 2;
}

console.log(x);

Output হবে:

2

কারণ var Block Scope তৈরি করে না।

let এর Block Scope উদাহরণ

{
  let x = 2;

  console.log(x);
}

// console.log(x);

এখানে Block-এর ভিতরে x ব্যবহার করা যাবে, কিন্তু বাইরে গেলে Error হবে।

const এর Block Scope উদাহরণ

{
  const x = 10;

  console.log(x);
}

// console.log(x);

constlet-এর মতো Block Scope অনুসরণ করে।

var এবং let এর Scope পার্থক্য

var x = 10;

{
  var x = 2;
}

console.log(x);

এখানে Output হবে 2। কারণ Block-এর ভিতরে var x আবার একই Variable পরিবর্তন করেছে।

let x = 10;

{
  let x = 2;

  console.log(x);
}

console.log(x);

এখানে Block-এর ভিতরে Output হবে 2 এবং Block-এর বাইরে Output হবে 10

কারণ Block-এর ভিতরের x এবং বাইরের x আলাদা Scope-এ রয়েছে।

JavaScript Scope এর পার্থক্য

  1. Global Scope: Function এবং Block-এর বাইরে Declare করা Variable বিভিন্ন জায়গা থেকে ব্যবহার করা যায়।
  2. Function Scope: Function-এর ভিতরে Declare করা Variable শুধু সেই Function-এর ভিতরে ব্যবহার করা যায়।
  3. Block Scope: { }-এর ভিতরে let এবং const দিয়ে তৈরি Variable শুধু সেই Block-এর ভিতরে ব্যবহার করা যায়।

সহজ উদাহরণ

let globalVariable = "Global";

function myFunction() {
  let functionVariable = "Function";

  {
    let blockVariable = "Block";

    console.log(globalVariable);
    console.log(functionVariable);
    console.log(blockVariable);
  }
}

myFunction();

এখানে globalVariable বিভিন্ন জায়গা থেকে ব্যবহার করা যায়। functionVariable শুধু Function-এর ভিতরে ব্যবহার করা যায়। আর blockVariable শুধু Block-এর ভিতরে ব্যবহার করা যায়।

উপসংহার

JavaScript এ Scope বোঝা খুবই গুরুত্বপূর্ণ। কারণ Scope জানলে বোঝা যায় একটি Variable কোথায় ব্যবহার করা যাবে। var সাধারণত Function Scope অনুসরণ করে, আর letconst Block Scope অনুসরণ করে। আধুনিক JavaScript এ Variable-এর Scope ভালোভাবে নিয়ন্ত্রণ করার জন্য সাধারণত let এবং const বেশি ব্যবহার করা হয়।

About the author

Daud
Hey! I'm Daud, Currently Working in IT Company BD. I always like to learn something new and teach others.

Post a Comment

To avoid SPAM, all comments will be moderated before being displayed.
Don't share any personal or sensitive information.