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. Functions & Scope
  5. Q9. Explain the concept of the temporal dead zone.
JavaScriptFunctions & Scope

Q9. Explain the concept of the temporal dead zone.

let ও const ব্যবহারের আগে কেন ReferenceError পড়ে, var-এর সাথে পার্থক্য কী।

Temporal Dead Zone (TDZ) হলো let বা const ঘোষিত হওয়ার পর থেকে তার মান বসানোর লাইন পর্যন্ত যে সময়টুকু — এই সময়ে ভেরিয়েবলটা থাকে, কিন্তু ব্যবহার করা যায় না।

দুই ধরনের আচরণjavascript
javascript
console.log(count); // ReferenceError
let count = 5;

console.log(name); // undefined — error নেই
var name = "Rahim";

ধাপে ধাপে — কোড চালানোর শুরুতে ইঞ্জিন let count-কে ঘোষিত বলে জেনে নেয় কিন্তু তখনও মান জানে না, শুধু জানে যে এর মান এখনো বসেনি — এটাই TDZ। তাই প্রথম লাইনে count পড়তে গেলে ReferenceError। দ্বিতীয় লাইনে ঘোষণা হয়, মান 5 বসে, এরপর থেকে ব্যবহার করা যায়।

var-এর ক্ষেত্রে TDZ থাকে না — তাই ঘোষণার আগেও undefined মিলে যায়, কোনো error ছাড়াই।

const-এ একটা ব্যতিক্রম আছে। ঘোষণার সাথে সাথেই মান দিতে হয়, তাই আলাদা কোথাও শুধু const x; লিখলে সাথে সাথে error পড়ে।

const-এর বাধ্যতামূলকতাjavascript
javascript
const a;  // SyntaxError — মান দেওয়া বাধ্যতামূলক
TDZ block scope-এও থাকেjavascript
javascript
{
  console.log(inside); // ReferenceError
  let inside = 1;
}

console.log(inside); // ReferenceError — block-এর বাইরে তো নেইই
সতর্কতা

TDZ-এর ReferenceError-এর বার্তা ঘোষণার লাইন নম্বর দেখিয়ে দেয়, তাই খুব দ্রুত বুঝে যাওয়া যায় ভুলটা কোথায়। ভেরিয়েবল ঘোষণার আগে ব্যবহার এড়িয়ে চলাই সবচেয়ে ভালো।

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

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

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

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

mdanamolhasan1998@gmail.com