কোন ফাংশনের বাইরে যদি ভেরিয়েবল ডিক্লেয়ার করা হয় তবে তা হবে গ্লোবাল ভেরিয়েবল। এক্ষেত্রে ঐ ভেরিয়েবলকে জাভাস্ক্রিপ্ট প্রোগ্রামের একাধিক ফাংশন ব্যবহার করতে পারে। সুতরাং কোন ভেরিয়েবলকে একাধিক ফাংশনে ব্যবহার করতে চাইলে সেটিকে উপযুক্ত scope-এ রাখা প্রয়োজন।
কোন ফাংশনের বাইরে declare করা ভেরিয়েবলকে সাধারণভাবে global variable বলা হয়। এই ভেরিয়েবলটি এমন scope-এ থাকে যেখান থেকে প্রয়োজন অনুযায়ী একাধিক function এটি ব্যবহার করতে পারে। websSchool-এর মূল পেজেও Global Variable-কে ফাংশনের বাইরে declare করা variable হিসেবে ব্যাখ্যা করা হয়েছে।
var myVar = "global"; function checkscope() { var myVar2 = "local"; document.write(myVar); } checkscope();
নোট - এখানে myVar ফাংশনের বাইরে declare করা হয়েছে, তাই checkscope() ফাংশনের ভিতর থেকেও এটি ব্যবহার করা যাচ্ছে।
Global variable-এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হলো এটি function-এর বাইরে তৈরি করা হলেও function-এর ভিতর থেকে ব্যবহার করা যায়।
var message = "Hello JavaScript"; function showMessage() { document.write(message); } showMessage();
এখানে message function-এর বাইরে declare করা হয়েছে। তাই showMessage() function-এর ভিতর থেকে সেটি ব্যবহার করা সম্ভব হয়েছে।
একটি global variable একাধিক function-এ ব্যবহার করা যায়। এতে একই data বিভিন্ন function-এর কাজে ব্যবহার করা সম্ভব হয়।
var name = "Rahim"; function first() { document.write(name + "
"); } function second() { document.write(name); } first(); second();
এখানে name একই global variable হিসেবে first() এবং second()—দুই function-এই ব্যবহার করা হয়েছে।
একই নামে একটি global এবং একটি local variable থাকলে function-এর ভিতরে local variable-টি অগ্রাধিকার পায়। websSchool-এর মূল পেজেও এই বিষয়টি নোট হিসেবে উল্লেখ আছে।
var name = "Global"; function checkName() { var name = "Local"; document.write(name); } checkName();
নোট - function-এর ভিতরে একই নামে local variable থাকলে সেই scope-এর মধ্যে local variable-টি ব্যবহৃত হয়।
Global variable যদি পরিবর্তনযোগ্যভাবে declare করা হয়, তবে function-এর ভিতর থেকেও তার value পরিবর্তন করা সম্ভব। তাই একই global data একাধিক function পরিবর্তন করলে program-এর ফলাফলেও তার প্রভাব পড়তে পারে।
var count = 10; function increase() { count = count + 1; } increase(); document.write(count);
নোট - এখানে function-এর ভিতর থেকে global count-এর value পরিবর্তন করা হয়েছে।
Scope বলতে বোঝায় কোন জায়গা থেকে একটি variable-কে access করা যাবে। Global variable সাধারণভাবে বড় scope-এ থাকে, তাই program-এর বিভিন্ন অংশ থেকে এটি access করা সম্ভব হতে পারে।
মূল websSchool পেজে উল্লেখ করা হয়েছে যে var keyword ছাড়া variable declare করলে সেটি global variable-এর মতো কাজ করতে পারে। তবে আধুনিক JavaScript লেখার সময় variable declaration-এর জন্য স্পষ্টভাবে let, const বা প্রয়োজন অনুযায়ী var ব্যবহার করা বেশি পরিষ্কার পদ্ধতি।
function createValue() { myValue = "Hello"; } createValue(); document.write(myValue);
নোট - এই ধরনের implicit global variable তৈরি করা এড়িয়ে চলা ভালো। বিশেষ করে strict mode-এ undeclared variable assignment error তৈরি করতে পারে।
একাধিক function-এর মধ্যে একই data ব্যবহার করার প্রয়োজন হলে global variable সহজ মনে হতে পারে। কিন্তু অতিরিক্ত global variable ব্যবহার করলে program-এর কোন অংশ data পরিবর্তন করছে তা অনুসরণ করা কঠিন হতে পারে।
নিচে গ্লোবাল ভেরিয়েবল এর সাধারণ বৈশিষ্ট গুলো দেখুন।