কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্ট ভেরিয়েবল ডিক্লেয়ার: লুপের বাইরে নাকি ভিতরে?

ECMA/জাভাস্ক্রিপ্ট ভাষা var দিয়ে ডিক্লেয়ার করা যেকোনো ভেরিয়েবলকে ফাংশনের শীর্ষে হয়স্ট (hoist) করে দেয়। কারণ এই ভাষার ফাংশন স্কোপ আছে, ব্লক স্কোপ নেই সি-মত ভাষাগুলোর মতো।

function() {
  for(var a = 0; a < 7; a++) {
    var b = 100;
  }
}

এটি সমান:

function() {
  var b;
  for(var a = 0; a < 7; a++) {
    b = 100;
  }
}

কিন্তু let-এ এটি প্রযোজ্য নয়। let-এ লেক্সিক্যাল স্কোপিং আছে। সুতরাং যদি লুপের বাইরে ভেরিয়েবল দরকার না হয় (বা প্রতিটি ইটেরেশন আগের ইটেরেশনের অপারেশনে নির্ভর না করে), তবে সেটি ব্যবহারের স্কোপের ভিতরেই ডিক্লেয়ার করা ভালো।

  1. জাভাস্ক্রিপ্ট ফাংশন ডেফিনিশন

  2. জাভাস্ক্রিপ্ট Function call() মেথড

  3. জাভাস্ক্রিপ্টে ব্লক-স্কোপড ভেরিয়েবল ডিক্লেয়ার করার পদ্ধতি

  4. জাভাস্ক্রিপ্টে আউটার ফাংশন থেকে ইভেন্ট লিসেনার সরানো