জাভাস্ক্রিপ্টে সাধারণ ভুলসমূহ এবং উদাহরণসহ ব্যাখ্যা

জাভাস্ক্রিপ্টে সাধারণ ভুলসমূহ এবং উদাহরণসহ ব্যাখ্যা

জাভাস্ক্রিপ্ট কোডিং করার সময় অনেক সময় প্রোগ্রামাররা ছোট ছোট ভুল করে থাকেন, যা কোডের কাজকে ব্যাহত করে বা বাগের কারণ হয়। এখানে কিছু প্রচলিত ভুল এবং তাদের সঠিক ব্যাখ্যা ও উদাহরণ দেওয়া হলো।

১. সেমিকোলন না দেওয়া (Missing Semicolon)

যদিও জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবে সেমিকোলন যোগ করার চেষ্টা করে, কিন্তু অনেক ক্ষেত্রে সেমিকোলনের অভাবে অপ্রত্যাশিত আচরণ হতে পারে।


// ভুল
let নাম = "রফিক"
let বয়স = ২৫
console.log(নাম, বয়স)

// সঠিক
let নাম = "রফিক";
let বয়স = ২৫;
console.log(নাম, বয়স);

২. অপরিচিত ভেরিয়েবল ব্যবহার (Reference Error)

যে ভেরিয়েবল ডিফাইন করা হয়নি, তা ব্যবহার করলে ReferenceError হয়।


// ভুল
console.log(পরিচিত_ভাষা); // ReferenceError: পরিচিত_ভাষা is not defined

// সঠিক
let পরিচিত_ভাষা = "বাংলা";
console.log(পরিচিত_ভাষা);

৩. টাইপ এরর (Type Error)

ভিন্ন ধরনের ডেটার উপর ভুল অপারেশন করার ফলে টাইপ এরর হয়। যেমন, number এর উপর string ফাংশন ব্যবহার করা।


// ভুল
let সংখ্যা = ১০;
সংখ্যা.toUpperCase(); // TypeError: সংখ্যা.toUpperCase is not a function

// সঠিক
let নাম = "রফিক";
console.log(নাম.toUpperCase());

৪. অসম্পূর্ণ ব্র্যাকেট বা বন্ধনী (Unmatched Brackets)

যখন আপনি কোডে ব্র্যাকেট, কার্লি ব্রেস বা প্যারেনথেসিস ভুলে বন্ধ করেন না, তখন সিনট্যাক্স এরর হয়।


// ভুল
function যোগ(ক, খ) {
  return ক + খ;
 // এখানে বন্ধনী নাই

// সঠিক
function যোগ(ক, খ) {
  return ক + খ;
}

৫. অ্যাসাইনমেন্টের জন্য == বা === এর বদলে = ব্যবহার (Assignment vs Comparison)

বিভ্রান্তিকর ভাবে তুলনা করতে গিয়ে অ্যাসাইনমেন্ট অপারেটর (=) ব্যবহার করলে ভুল ফলাফল হয়।


// ভুল
let a = 5;
if(a = 10) {
  console.log("সত্য");
} else {
  console.log("মিথ্যা");
}
// এটি সবসময় সত্য হবে কারণ a কে 10 সেট করা হচ্ছে

// সঠিক
let a = 5;
if(a === 10) {
  console.log("সত্য");
} else {
  console.log("মিথ্যা");
}

৬. অসম্পূর্ণ স্ট্রিং বা ভুল কোটেশন (Unclosed String)

স্ট্রিং শুরু করলে সঠিক ভাবে বন্ধ করা না হলে এরর হয়।


// ভুল
let saludo = "হ্যালো;
// SyntaxError: Unexpected end of input

// সঠিক
let saludo = "হ্যালো";

৭. ফাংশন কল করার সময় প্যারামিটার ভুল দেওয়া

যদি ফাংশনে প্রয়োজনীয় আর্গুমেন্ট না দেওয়া হয়, কোড ভুল ফলাফল দিতে পারে।


// ভুল
function যোগ(ক, খ) {
  return ক + খ;
}
console.log(যোগ(৫)); // NaN, কারণ খ undefined

// সঠিক
function যোগ(ক, খ) {
  if(খ === undefined) খ = 0;
  return ক + খ;
}
console.log(যোগ(৫)); // 5

৮. লজিক্যাল ভুল (Logical Error)

কোড চলবে কিন্তু ফলাফল ভুল আসবে, কারণ লজিক ভুল।


// ভুল
let বয়স = ২০;
if(বয়স > ১৮) {
  console.log("আপনি ভোট দিতে পারবেন");
} else {
  console.log("আপনি ভোট দিতে পারবেন না");
}
// ভুল কারণ ১৮ হলে "ভোট দিতে পারবেন না" দেখাবে

// সঠিক
let বয়স = ১৮;
if(বয়স >= ১৮) {
  console.log("আপনি ভোট দিতে পারবেন");
} else {
  console.log("আপনি ভোট দিতে পারবেন না");
}

৯. ডিক্লেয়ার করার আগে ভেরিয়েবল ব্যবহার (Hoisting Mistake)

var দিয়ে ডিক্লেয়ার না করেও ভেরিয়েবল ব্যবহার করলে undefined পাওয়া যায় যা বিভ্রান্তিকর।


// ভুল
console.log(নাম); // undefined
var নাম = "রফিক";

// সঠিক
var নাম = "রফিক";
console.log(নাম); // রফিক

১০. সমান না হওয়া টাইপ ও ভ্যালু তুলনা (Loose vs Strict Comparison)

== অপারেটর টাইপ কনভার্শন করে তুলনা করে, তাই ভুল ফলাফল আসতে পারে। === টাইপ ও ভ্যালু দুটোই চেক করে।


// ভুল
console.log(5 == "5"); // true (হয়তো অনাকাঙ্ক্ষিত ফল)

// সঠিক
console.log(5 === "5"); // false (টাইপ চেক সহ)

Leave a Reply