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. Arrays & Objects
  5. Q19. What is the difference between for...in and for...of loops?
JavaScriptArrays & Objects

Q19. What is the difference between for...in and for...of loops?

key আর value কোনটাতে পাওয়া যায়, কখন কোন loop ব্যবহার করবেন।

দুটোই for লুপের আধুনিক ধরন, কিন্তু কাজ সম্পূর্ণ আলাদা। for...in object-এর key বা property নাম ঘুরে দেয়, আর for...of কোনো iterable (যেমন array, string, Set, Map) এর মান ঘুরে দেয়।

for...injavascript
javascript
const user = { name: "Rahim", age: 25 };

// for...in — key পায়
for (const key in user) {
  console.log(key); // "name", "age"
  console.log(user[key]); // "Rahim", 25
}
for...ofjavascript
javascript
const colors = ["red", "green", "blue"];

// for...of — value পায়
for (const color of colors) {
  console.log(color); // "red", "green", "blue"
}

ধাপে ধাপে — for...in যখন চলে তখন ভেতরের variable-এ key-র নাম বসে, তাই সেটাকে obj[key] দিয়ে আবার খুঁজতে হয়। for...of-এ ভেতরের variable-এ সরাসরি মান বসে, তাই key বা index লাগলে entries() ব্যবহার করতে হয়।

index দরকার হলেjavascript
javascript
// index-ও দরকার হলে
for (const [index, color] of colors.entries()) {
  console.log(index, color); // 0 "red", 1 "green", 2 "blue"
}

// array-তে for...in চালালে key মানে index আসে
for (const i in colors) {
  console.log(typeof i); // "string" — index-ও string!
}

for...of শুধু যেসব জিনিস iterable সেগুলোর উপর চলে — array, string, Set, Map, generator। সাধারণ object এর উপর চালালে error পড়ে।

সীমাবদ্ধতাjavascript
javascript
for (const x of { a: 1 }) {
  // TypeError: obj is not iterable
}

// বদলে এভাবে লিখতে হয়
for (const key in { a: 1 }) {
  console.log(key); // "a"
}
বিষয়for...infor...of
কী পায়key / property নামমান (value)
মূল typeobjectiterable
array-তে ফলindex (string)element
inherited propertyঅন্তর্ভুক্ত হতে পারেঅন্তর্ভুক্ত হয় না
key লাগলেসরাসরি পাওয়া যায়entries() লাগে
সতর্কতা

for...in prototype chain-এর property-ও ঘুরতে পারে, তাই পরিস্থিতি নিয়ন্ত্রণ না থাকলে unexpected বাগ হতে পারে। তাই শুধু নিজের object-এর key বোঝার জন্য for...in ব্যবহার করুন, array বা string-এর জন্য for...of বেশি নিরাপদ।

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

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

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

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

mdanamolhasan1998@gmail.com