टाइपस्क्रिप्ट प्रतीक प्रकार और इसका उपयोग कैसे करें
टाइपस्क्रिप्ट में सिंबल टाइप ES6 में पेश किया गया एक अनूठा और अपरिवर्तनीय आदिम प्रकार है। सिंबल का उपयोग अक्सर ऑब्जेक्ट प्रॉपर्टी की के रूप में किया जाता है ताकि यह सुनिश्चित किया जा सके कि गुण अद्वितीय हैं और गलती से एक दूसरे को अधिलेखित नहीं करते हैं। यह विशेष रूप से उन परिदृश्यों में उपयोगी है जहां ऑब्जेक्ट प्रॉपर्टी को स्थिरांक के रूप में उपयोग करने की आवश्यकता होती है लेकिन उन्हें अद्वितीय और गैर-गणना योग्य रखा जाना चाहिए।
प्रतीक बनाना
सिंबल बनाने के लिए, Symbol
फ़ंक्शन का उपयोग किया जाता है। हर बार जब Symbol
को कॉल किया जाता है, तो एक नया अनूठा सिंबल बनाया जाता है।
const uniqueSymbol = Symbol('description');
const anotherSymbol = Symbol('description'); // This is a different symbol, even if the description is the same
ऑब्जेक्ट कुंजी के रूप में प्रतीकों का उपयोग करना
प्रतीकों का उपयोग ऑब्जेक्ट गुणों के लिए कुंजी के रूप में किया जा सकता है। यह सुनिश्चित करता है कि गुण नाम अद्वितीय हैं और अन्य गुणों के साथ आकस्मिक टकराव को रोकता है।
const mySymbol = Symbol('mySymbol');
const myObject = {
[mySymbol]: 'value'
};
console.log(myObject[mySymbol]); // Outputs: value
Symbol.for और Symbol.keyFor
Symbol.for
विधि किसी दिए गए कुंजी द्वारा वैश्विक प्रतीक बनाती या प्राप्त करती है। यह किसी एप्लिकेशन के विभिन्न भागों में प्रतीकों को साझा करने के लिए उपयोगी हो सकता है। Symbol.keyFor
विधि वैश्विक प्रतीक से जुड़ी कुंजी लौटाती है।
const globalSymbol = Symbol.for('globalSymbol');
const sameGlobalSymbol = Symbol.for('globalSymbol'); // Retrieves the same symbol
console.log(globalSymbol === sameGlobalSymbol); // Outputs: true
const symbolKey = Symbol.keyFor(globalSymbol);
console.log(symbolKey); // Outputs: 'globalSymbol'
निष्कर्ष
टाइपस्क्रिप्ट में सिंबल प्रकार अद्वितीय प्रॉपर्टी कुंजियाँ बनाने के लिए एक शक्तिशाली तंत्र प्रदान करता है, जो प्रॉपर्टी नाम टकराव को रोकने और अधिक विश्वसनीय और रखरखाव योग्य कोड सुनिश्चित करने में मदद कर सकता है। प्रतीकों को समझने और उनका उपयोग करके, डेवलपर्स टाइपस्क्रिप्ट एप्लिकेशन में ऑब्जेक्ट प्रॉपर्टी और उनकी विशिष्टता को बेहतर ढंग से प्रबंधित कर सकते हैं।