জাভাস্ক্রিপ্টের একটি ডিফল্ট আচরণ হচ্ছে হয়েস্টিং।
জাভাস্ক্রিপ্টে, একটি ভ্যারিয়েবলকে ডিক্লেয়ার করার পূর্বে ব্যবহার করা যায়।
নিচের দুইটি উদাহরণ একই ফলাফল দেখাবেঃ
kt_satt_skill_example_id=609
kt_satt_skill_example_id=612
এটা বুঝার জন্য আপনাকে হয়েস্টিং("hoisting") বিষয়টি বুঝতে হবে।
জাভাস্ক্রিপ্ট ডিফল্টভাবে সকল ডিক্লেয়ারেশনকে তার নিজ নিজ স্কোপের উপরে নিয়ে যায়,একেই হয়েস্টিং বলা হয়।
জাভাস্ক্রিপ্টে হয়েস্টিং শুধুমাত্র ডিক্লেয়ারেশনের জন্য প্রযোজ্য। ইনিশিয়ালাইজেশন হয়েস্টিং-এর অন্তর্ভুক্ত নয়।
নিচের দুইটি উদাহরণ দেখিঃ
kt_satt_skill_example_id=614
kt_satt_skill_example_id=617
দ্বিতীয় উদাহরণে b এর ভ্যালু undefined দেখিয়েছে। কারণ জাভাস্ক্রিপ্ট শুধুমাত্র ডিক্লেয়ারেশনকে উপরে নিয়েছে, এসাইনকৃত ভ্যালুকে উপরে নেয়নি। তাই b এর ভ্যালু undefined দেখানো হয়েছে।
দ্বিতীয় উদাহরণটি নিচের উদাহরণের মতইঃ
kt_satt_skill_example_id=619
সবসময় ভ্যারিয়েবলকে স্কোপের উপরে ডিক্লেয়ার করা একটি ভাল অভ্যাস।
জাভাস্ক্রিপ্ট কোডে "use strict"; ব্যবহার একটি ভালো দিক। ইহা প্রোগ্রামারদের সিন্টেক্সগত ভুল, অনিচ্ছাকৃত গ্লোবাল ভ্যারিয়েবল তৈরি এবং অন্যান্য সমস্যা থেকে রক্ষা করে। এই বিষয়গুলো জাভাস্ক্রিপ্টে কোন এঁরর দেখায় না, কিন্তু "use strict"; ব্যবহার করলে ইহা এঁরর হিসেবে গণ্য হয়।
একটি স্ক্রিপ্ট এবং প্রতিটি ফাংশনের শুরুতে "use strict"; ডিক্লেয়ার করা যায়।
kt_satt_skill_example_id=622
kt_satt_skill_example_id=623
"use strict"; যদি স্ক্রিপ্টের শুরুতে ব্যবহার করা হয় তবে ইহা স্ক্রিপ্টের সকল কোডের জন্য প্রযোজ্য হবে এবং ফাংশনের ভিতরে ব্যবহার করা হলে ইহা শুধুমাত্র ফাংশনের কোডের জন্য প্রযোজ্য।
আরও দেখুন...