IIFE (Immediately Invoked Function Expression) ব্যবহার
ডুপ্লিকেট ভেরিয়েবল ডিক্লেয়ারেশন প্রতিরোধ করতে ভেরিয়েবল ডিক্লেয়ারেশনকে ফাংশন এক্সপ্রেশন দিয়ে র্যাপ করুন:
(function() {
var rank = 1;
}())
কিভাবে কাজ করে
- উপরের কোড আপনার ভেরিয়েবলকে অন্যান্য ভেরিয়েবল এবং ফাংশন থেকে আলাদা রাখে।
- গ্লোবাল স্কোপে আউটসাইড ভেরিয়েবলগুলো প্রভাবিত হয় না।
- আপনার
rankভেরিয়েবল ফাংশনের বাইরে দৃশ্যমান নয়। - ভেরিয়েবল সংক্রান্ত যেকোনো কোড ফাংশনের ভিতরে লিখতে হবে।
আধুনিক বিকল্প: ES6 মডিউল এবং ব্লক স্কোপ
// ES6 মডিউল (সেরা - ফাইল লেভেল স্কোপ)
// file1.js
export const rank = 1;
// file2.js
import { rank } from './file1.js';
// ব্লক স্কোপ (let/const)
{
let rank = 1; // শুধু এই ব্লকে সীমাবদ্ধ
}
// এখানে rank অ্যাক্সেসযোগ্য নয়
নেমস্পেস প্যাটার্ন (পুরানো)
var MyApp = MyApp || {};
MyApp.rank = 1;
MyApp.points = 100;