JavaScript with() স্টেটমেন্ট

 

JavaScript with() স্টেটমেন্ট নিয়ে বিস্তারিত টিউটোরিয়াল

জাভাস্ক্রিপ্টে with() একটি বিশেষ স্টেটমেন্ট যা অবজেক্টের প্রোপার্টি এক্সেস করা সহজ করতে ব্যবহৃত হয়। যদিও এটি এখন অনেকটাই পুরনো ও পরিত্যক্ত, তবে এখনও বুঝতে হবে এটি কীভাবে কাজ করে এবং কখন ব্যবহার করা উচিত নয়।

with() স্টেটমেন্ট কী?

with স্টেটমেন্ট ব্যবহার করে আপনি একটি নির্দিষ্ট অবজেক্টকে স্কোপে নিয়ে আসতে পারেন, যাতে সেই অবজেক্টের প্রোপার্টিগুলো সরাসরি ব্যবহার করা যায়, অবজেক্টের নাম পুনরায় না লিখেই।

// উদাহরণঃ
var student = {
  name: "Rakib",
  age: 22,
  subject: "Computer Science"
};

with (student) {
  console.log(name);       // Rakib
  console.log(age);        // 22
  console.log(subject);    // Computer Science
}

with() কেন ব্যবহার নিষেধ?

with() স্টেটমেন্ট জাভাস্ক্রিপ্ট কোডকে দুর্বোধ্য করে তোলে এবং strict mode এ এটি ব্যবহার করা সম্পূর্ণরূপে নিষিদ্ধ। এটি স্কোপ চেইনকে ঘোলা করে দেয়, যার ফলে ডিবাগ করা কঠিন হয়।

❌ সমস্যা উদাহরণ:

var name = "Global";

var student = {
  name: "Rakib"
};

with (student) {
  console.log(name); // Rakib, কিন্তু যদি প্রপার্টি না থাকে তাহলে হবে "Global"
}

with() এর বিকল্প কী?

আপনি চাইলে ডিরেক্ট অবজেক্ট ব্যবহার করে একই কাজ করতে পারেন। এতে কোড বেশি স্পষ্ট হয় এবং ভুল হবার সম্ভাবনা কম থাকে।

var student = {
  name: "Rakib",
  age: 22,
  subject: "Computer Science"
};

console.log(student.name);
console.log(student.age);
console.log(student.subject);

তুলনামূলক টেবিল: with() vs. Normalsyntax

বিষয় with() ডিরেক্ট অবজেক্ট
পাঠযোগ্যতা কম উচ্চ
পারফরম্যান্স কম ভালো
স্ট্রিক্ট মোডে ব্যবহার নিষিদ্ধ সম্ভব

⚠️ সতর্কতামূলক পরামর্শ

  • with() স্টেটমেন্ট "use strict" মোডে কাজ করে না।
  • এটি ভবিষ্যতের কোডিং স্ট্যান্ডার্ডের সাথে সঙ্গতিপূর্ণ নয়।
  • সব সময় পরিষ্কার এবং সহজবোধ্য কোড লিখুন যা অন্য ডেভেলপার পড়লে বুঝতে পারেন।

উপসংহার

জাভাস্ক্রিপ্টের with() স্টেটমেন্ট একটি মজার কিন্তু বিভ্রান্তিকর ফিচার। এটি এখন আর ব্যবহারের উপযুক্ত নয়। তবুও এর ইতিহাস, কাজের ধরণ ও সীমাবদ্ধতা জানা একজন ডেভেলপার হিসেবে আপনার প্রয়োজন।


 

Leave a Reply