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. Types & Syntax
  5. Q14. Explain type coercion in JavaScript with examples.
JavaScriptTypes & Syntax

Q14. Explain type coercion in JavaScript with examples.

ইঞ্জিন কখন নিজে থেকে ধরন বদলে দেয়, implicit ও explicit coercion-এর পার্থক্য।

Type coercion মানে JavaScript নিজে থেকে একটা মানকে অন্য ধরনে বদলে দেওয়া। যেখানে নিজে থেকে বদলায় সেটি implicit, আর আপনি Number(), String(), Boolean() দিয়ে বদলালে সেটি explicit coercion।

সবচেয়ে সাধারণ implicit coercion দেখা যায় + অপারেটরে — এটি দুই পাশকে যোগ করতে চায়, তাই একটা পাশ string হলে সেটি বাকি দুটোকে string বানিয়ে জোড়া লাগিয়ে দেয়।

+ অপারেটরের আচরণjavascript
javascript
console.log(1 + 2);     // 3 — দুটোই number
console.log("1" + 2);   // "12" — string বানিয়ে জোড়া
console.log(1 + "2");   // "12"
console.log(1 - 2);     // -1 — সংখ্যা হিসাব
console.log("5" - 2);   // 3 — "5" সংখ্যায় বদলে গেল
console.log(true + 1);  // 2 — true এর মান 1

+ বাদি সব অপারেটার সাধারণত সংখ্যায় রূপান্তর করে, তাই স্ট্রিং 5 বিয়ে 2 থেকে 3 বের হয়, কিন্তু + হলে দুটো জোড়া লেগে স্ট্রিং 52 হয়।

অন্য জায়গায় == ও !, if-এর শর্তেও coercion ঘটে। শর্তে যা আসে তা সবসময় সত্য কিন্তু।

শর্তে coercionjavascript
javascript
// truthy ও falsy
if ("hello")  console.log("truthy");
if ("")        console.log("খালি string falsy");
if (0)         console.log("শূন্য falsy");
if (NaN)       console.log("NaN falsy");
if (null)      console.log("null falsy");
if (undefined) console.log("undefined falsy");

if ("0")  console.log("হ্যাঁ — '0' truthy");
if ([])    console.log("হ্যাঁ — খালি array truthy");

explicit coercion-এর জন্য তিনটি ফাংশন সবচেয়ে বেশি লাগে।

explicit coercionjavascript
javascript
Number("42");        // 42
Number("");          // 0 — মনে রাখুন
Number("42px");      // NaN
Number(true);         // 1

String(42);          // "42"
String(null);        // "null"

Boolean(0);          // false
Boolean("hello");     // true
Boolean("");         // false
অপারেডরের অগ্রাধিকারjavascript
javascript
// String() বনাম + ব্যবহার
console.log(String(1) + 2);   // "12" — জোড়া
console.log(1 + 2 + "3");    // "33" — বাম থেকে হিসাব, তারপর string
console.log("3" + 2 + 1);    // "321"
ইনপুটtruthyfalsy
stringখালি না হলে""
number0 ছাড়া0, NaN
object/arrayসবসময়—
null, undefined—দুটোই
মনে রাখুন

coercion লুকানো থাকলে বাগের কারণ খুঁজে পাওয়া কঠিন। তাই স্পষ্ট লিখুন — লিখতে চাইলে Number(x), না লিখতে চাইলে ভালো ফলাফল দেখে ?? ব্যবহার করুন।

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

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

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

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

mdanamolhasan1998@gmail.com