If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
TypeScript में classes काफी useful हैं, जो हमारे code को ज़्यादा structured और maintainable बनाने में help करते हैं।
इस topic में हम discuss करेंगे static properties और static methods के बारे में , कि static properties और methods क्या होती हैं, कैसे use होती हैं, और किस तरह से यह आपको efficient और organized code लिखने में help कर सकती हैं।
TypeScript में static properties और static methods class के instances के लिए नहीं होते। यह class के लिए specific होते हैं, और class के नाम के through directly access किये जा सकते हैं, बिना किसी object को बनाये।
यह properties class के objects
के साथ bind नहीं होती, बल्कि class के साथ bind
होती हैं. इनको access करने के लिए हमेशा class का नाम use होता है, न कि किसी object का।
Static methods भी वैसे ही काम करते हैं जैसे static properties . यह methods class के level पर define होते हैं और इन्हे class के नाम से directly call किया जाए सकता है।
यह instance methods कि तरह नहीं होते जिन्हे object के through call करना पड़ता है।
●●●
Static property को define करने के लिए आपको static
keyword use करना होता है।
class MathHelper {
static PI: number = 3.14159;
static calculateCircumference(radius: number): number {
return 2 * MathHelper.PI * radius;
}
}
console.log(MathHelper.PI); // Output: 3.14159
console.log(MathHelper.calculateCircumference(5)); // Output: 31.4159
यहां, PI
एक static property है जो MathHelper
class के अंदर define कि गयी है।
आप notice करेंगे कि हमने इससे access करने के लिए MathHelper.PI
का use किया, class का object बनाकर इसे access नहीं किया।
●●●
जैसे static properties को define करने के लिए static
keyword use करते हैं, वैसे ही static methods को बनाने के लिए भी static
keyword का use होता है।
Static methods उन operations के लिए useful होते हैं जो किसी specific instance पर depend नहीं करते।
class Utility {
static toUpperCase(str: string): string {
return str.toUpperCase();
}
}
console.log(Utility.toUpperCase('hello')); // Output: HELLO
इस example में toUpperCase()
एक static method है जो string को uppercase में convert करता है, और हमने इससे class के नाम Utility के through directly call किया।
●●●
चलिए एक complex example देखते हैं जो real-world scenario को represent करता है।
class User {
static totalUsers: number = 0;
name: string;
constructor(name: string) {
this.name = name;
User.totalUsers++;
}
static getTotalUsers(): number {
return User.totalUsers;
}
}
const user1 = new User("Alice");
const user2 = new User("Bob");
console.log(User.getTotalUsers()); // Output: 2
यहां totalUsers
एक static property है जो हर बार User class का object बनने पर increment होती है। Static method getTotalUsers()
को हमने इस value को retrieve करने के लिए बनाया।
●●●
Static methods काफी useful होते हैं utility classes के लिए जहाँ आपको ऐसे methods बनाने होते हैं जो किसी instance पर depend नहीं करते।
Example: Math, StringUtils, DateUtils जैसे classes में static methods का use काफी होता है।
class MathUtil {
static square(n: number): number {
return n * n;
}
}
console.log(MathUtil.square(5)); // Output: 25
Static properties और methods का use singleton pattern implement करने में भी होता है, जहाँ हमें सिर्फ single instance चाहिए होता है किसी class का।
class Singleton {
private static instance: Singleton;
private constructor() {}
static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
}
const s1 = Singleton.getInstance();
const s2 = Singleton.getInstance();
console.log(s1 === s2); // Output: true
Static properties को constants के लिए define किया जा सकता है जो class के साथ common हो और कभी change न हो।
class Config {
static readonly API_URL: string = "https://api.example.com";
}
console.log(Config.API_URL); // Output: https://api.example.com
●●●
Memory Efficiency : Static properties और methods directly class के साथ related होते हैं, तो इनको अलग-अलग instances के लिए बार-बार allocate नहीं किया जाता। इससे memory efficiency बढ़ती है।
Common Data Sharing : अगर आपको कुछ common data को share करना है across multiple instances, तो static properties का use करना best practice है।
Utility Functions: जो functions या methods किसी specific object state पर depend नहीं करते, उन्हें static methods के through directly class के level पर implement किया जा सकता है।
●●●
TypeScript के static properties और methods का use करना आपको better memory management, code organization, और reusability provide करता है।
Static properties को define करने से आप common data को efficiently manage कर सकते हैं, और static methods
को use करके आप utility functions
को बिना किसी object के directly call कर सकते हैं।
लेकिन, इनका use cautiously करना चाहिए, क्योंकि यह instance-level customization provide नहीं करते।