Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. প্রশ্ন/উত্তর
  4. Basics
  5. Q2. Explain the concept of hoisting in JavaScript.
JavaScriptBasics

Q2. Explain the concept of hoisting in JavaScript.

ঘোষণা উপরে টেনে আনার নিয়মটা কী, আর কেন var কাজ করে কিন্তু let ও const ধরা পড়ে।

Hoisting মানে JavaScript কোড চালানোর আগেই সেই কোডের var আর function declaration ঘোষণাগুলো উপরে তুলে আনে। ফলে সেগুলো কোডে নিচে লেখা থাকলেও উপরে ব্যবহার করা যায় — শুধু তৈরি হওয়ার সময়টা আগে হয়।

hoisting কীভাবে কাজ করেjavascript
javascript
console.log(message); // undefined — error নয়!
var message = "Hello";

sayHi(); // ✅ কাজ করে
function sayHi() {
  console.log("Hi!");
}

ধাপে ধাপে দেখি কী ঘটছে। প্রথমে ইঞ্জিন কোডটি উপরে উঠিয়ে একটা রূপান্তরিত সংস্করণ বানায় — var message উপরে চলে আসে, তবে তার মান থাকে না, তাই মান undefined হয়ে যায়। আর function declaration পুরোটাই উপরে উঠে আসে, তাই sayHi() ডাকা যায়।

দ্বিতীয় ধাপে কোড লাইনে লাইনে চলে। তখন var message = "Hello" এসে মান বসায়, আর sayHi() ফাংশনটি চলে।

let ও const-এর ক্ষেত্রে শুধু ঘোষণাটা উপরে উঠে — কিন্তু মান বসে ঘোষণার লাইনেই। তাই ঘোষণার আগে ব্যবহার করলে ReferenceError পড়ে। এই সাময়িক বাধাকেই বলে Temporal Dead Zone।

let বনাম varjavascript
javascript
console.log(count); // ReferenceError
let count = 5;

console.log(age); // undefined — কোনো error নেই
var age = 5;
মজার তথ্য

হোস্টিং শুধু ঘোষণাকে উপরে তোলে, মানকে নয় — তাই var-এর মান উপরে undefined হয়, কিন্তু let ও const ব্যবহার করলে error পড়ে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
Basics বিভাগের আরও প্রশ্নJavaScript প্রশ্ন/উত্তর
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com