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

জাভাস্ক্রিপ্ট ভেরিয়েবল স্কোপ কীভাবে কাজ করে?


দুটি মূল স্কোপ

একটি ভেরিয়েবলের স্কোপ হলো আপনার প্রোগ্রামের সে অঞ্চল যেখানে এটি সংজ্ঞায়িত থাকে। জাভাস্ক্রিপ্ট ভেরিয়েবলদের মাত্র দুটি স্কোপ রয়েছে:

  • গ্লোবাল ভেরিয়েবল: গ্লোবাল স্কোপ থাকে, অর্থাৎ আপনার জাভাস্ক্রিপ্ট কোডের যেকোনো জায়গা থেকে অ্যাক্সেসযোগ্য।
  • লোকাল ভেরিয়েবল: শুধু সে ফাংশনের ভিতরে যেখানে এটি সংজ্ঞায়িত, সেখানেই দৃশ্যমান। ফাংশন প্যারামিটারগুলো সর্বদা ওই ফাংশনের লোকাল থাকে।

স্কোপ প্রাধান্য

একটি ফাংশনের ভিতরে, একই নামে একটি লোকাল ভেরিয়েবল গ্লোবাল ভেরিয়েবলের উপর প্রাধান্য পায়। যদি আপনি একটি লোকাল ভেরিয়েবল বা ফাংশন প্যারামিটার ঘোষণা করেন যেটির নাম গ্লোবাল ভেরিয়েবলের মতো, তবে এটি গ্লোবাল ভেরিয়েবলকে কার্যকরভাবে লুকিয়ে দেয়।

উদাহরণ

<html>
    <body onload="checkscope()">
        <script>
            <!--
                var myVar = "global"; // গ্লোবাল ভেরিয়েবল
                function checkscope() {
                    var myVar = "local"; // লোকাল ভেরিয়েবল
                    document.write(myVar);
                }
            //-->
        </script>
    </body>
</html>

ব্লক স্কোপ (ES6+)

let এবং const ব্যবহার করে ব্লক-লেভেল স্কোপ তৈরি করা যায়:

if (true) {
    let blockScoped = "শুধু এই ব্লকে";
    const alsoBlockScoped = "এখানেও";
}
// এখানে blockScoped অ্যাক্সেসযোগ্য নয়
  1. জাভাস্ক্রিপ্ট ফাংশনে গ্লোবাল ভেরিয়েবল কীভাবে ডিফাইন করবেন?

  2. জাভাস্ক্রিপ্টে 'z'['toUpperCase']() কীভাবে এবং কেন কাজ করে?

  3. জাভাস্ক্রিপ্টে ভ্যারিয়েবলটি অ্যারে কিনা যাচাই করার পদ্ধতি

  4. জাভাস্ক্রিপ্টে ব্লক স্কোপ সাপোর্ট করে কি?