"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > अपरिवर्तनीय डेटा संरचनाएँ: ECMA 4 में रिकॉर्ड्स और टुपल्स

अपरिवर्तनीय डेटा संरचनाएँ: ECMA 4 में रिकॉर्ड्स और टुपल्स

2024-09-04 को प्रकाशित
ब्राउज़ करें:261

Immutable Data Structures: Records and Tuples in ECMA 4

अपरिवर्तनीय डेटा संरचनाएं: ईसीएमएस्क्रिप्ट 2024 में एक नई सुविधा

ईसीएमएस्क्रिप्ट 2024 कई रोमांचक अपडेट पेश करता है, लेकिन एक विशेषता जो मेरे लिए सबसे खास है वह अपरिवर्तनीय डेटा संरचनाओं की शुरूआत है। ये नई संरचनाएँ-रिकॉर्ड्स और टुपल्स-जावास्क्रिप्ट में डेटा के प्रबंधन के लिए गेम-चेंजर हैं। वे हमारे डेटा को सुदृढ़, सुरक्षित और सुसंगत रखने का एक संतोषजनक तरीका प्रदान करते हैं, जो तब अत्यंत महत्वपूर्ण है जब हम विश्वसनीय एप्लिकेशन चाहते हैं जिन्हें हम आसानी से बनाए रख सकें। यहां बताया गया है कि अपरिवर्तनीय डेटा संरचनाएं इतनी रोमांचक क्यों हैं, और आप उनका सबसे प्रभावी ढंग से उपयोग कैसे कर सकते हैं।

रिकॉर्ड्स और टुपल्स क्या हैं?

रिकॉर्ड्स और टुपल्स नई डेटा संरचनाएं हैं जो डिज़ाइन द्वारा अपरिवर्तनीय हैं। इसका मतलब यह है कि एक बार जब आप कोई रिकॉर्ड या टुपल बना लेते हैं, तो उसकी सामग्री को बदला नहीं जा सकता। उन्हें संशोधित करने के किसी भी प्रयास के परिणामस्वरूप एक नया उदाहरण तैयार हो जाता है, जबकि मूल अपरिवर्तित रहता है। यह अपरिवर्तनीयता अनपेक्षित दुष्प्रभावों को रोकने में मदद करती है और आपके कोड को अधिक पूर्वानुमानित बनाती है।

अपरिवर्तनीय डेटा संरचनाओं का उपयोग क्यों करें?

  • पूर्वानुमेयता: अपरिवर्तनीय डेटा संरचनाएं आपके कोड के बारे में तर्क करना आसान बनाती हैं क्योंकि आप जानते हैं कि एक बार डेटा सेट हो जाने के बाद, इसे आपके एप्लिकेशन में कहीं और गलती से नहीं बदला जाएगा।
  • डिबगिंग: अपरिवर्तनीयता के साथ, आप अप्रत्याशित रूप से संशोधित किए जा रहे डेटा से संबंधित समस्याओं से बचते हैं, जिससे डिबगिंग आसान हो जाती है।
  • कार्यात्मक प्रोग्रामिंग: अपरिवर्तनीय डेटा कार्यात्मक प्रोग्रामिंग प्रतिमानों के साथ अच्छी तरह से फिट बैठता है, जहां फ़ंक्शन साइड इफेक्ट से बचते हैं और डेटा को अपरिवर्तनीय माना जाता है।

रिकॉर्ड्स बनाना और उपयोग करना

रिकॉर्ड अपरिवर्तनीय वस्तुओं की तरह हैं। इन्हें एक निर्धारित संरचना के साथ परिभाषित किया गया है और निर्माण के बाद इन्हें बदला नहीं जा सकता है। यहां रिकॉर्ड्स का उपयोग करने के तरीके पर एक त्वरित नज़र डाली गई है:

// Creating an immutable Record const kittyFacts = 
#{ name: "Turbodog", age: 17, favoriteToy: "Laser Pointer" }; 
// Accessing values 
console.log(kittyFacts.name); 
// Outputs: Turbodog 
console.log(kittyFacts.favoriteToy); 
// Outputs: Laser Pointer 
// Attempting to modify will create a new instance 
const updatedKittyFacts = #{ ...kittyFacts, age: 18 };
console.log(kittyFacts.age); 
// Outputs: 17 (unchanged) 
console.log(updatedKittyFacts.age); 
// Outputs: 18 (new instance)

इस उदाहरण में, kittyFacts एक अपरिवर्तनीय रिकॉर्ड है। इसमें कोई भी संशोधन, जैसे कि उम्र को अपडेट करना, एक नए अपडेटेड किट्टीफैक्ट्स रिकॉर्ड में परिणत होता है, जिससे मूल किटीफैक्ट्स बरकरार रहता है।

टुपल्स के साथ काम करना

टुपल्स अपरिवर्तनीय सरणियाँ हैं जो निश्चित संख्या में तत्वों को धारण कर सकती हैं। वे मानों के क्रमबद्ध संग्रह का प्रतिनिधित्व करने के लिए विशेष रूप से उपयोगी हैं जिन्हें बदला नहीं जाना चाहिए।

// Creating an immutable Tuple 
const concertSetlist = #[ "Tupelo", "Live Oak", "Strawberry Woman", "Elephant" ]; 
// Accessing values 
console.log(concertSetlist[0]);
 // Outputs: Tupelo 
console.log(concertSetlist[2]);
 // Outputs: Strawberry Woman 
// Attempting to modify will create a new instance
 const updatedSetlist = #[...concertSetlist, "Chaos and Clothes"]; 
console.log(concertSetlist.length); 
 // Outputs: 4 (unchanged) 
console.log(updatedSetlist.length);
// Outputs: 5 (new instance)
; // मूल्यों तक पहुँचना कंसोल.लॉग(कंसर्टसेटलिस्ट[0]); // आउटपुट: टुपेलो कंसोल.लॉग(कंसर्टसेटलिस्ट[2]); // आउटपुट: स्ट्रॉबेरी वुमन // संशोधित करने का प्रयास एक नया उदाहरण बनाएगा स्थिरांक अद्यतनसेटलिस्ट = #[...कंसर्टसेटलिस्ट, "अराजकता और कपड़े"]; कंसोल.लॉग(कंसर्टसेटलिस्ट.लेंथ); // आउटपुट: 4 (अपरिवर्तित) कंसोल.लॉग(अपडेटेडसेटलिस्ट.लेंथ); // आउटपुट: 5 (नया उदाहरण)

यहाँ, कॉन्सर्टसेटलिस्ट एक अपरिवर्तनीय टपल है। सेटलिस्ट में एक नया गाना जोड़ने से मूल को संरक्षित करते हुए एक नया अपडेटेडसेटलिस्ट टुपल बनता है।

रिकॉर्ड्स और टुपल्स के साथ उन्नत संचालन


रिकॉर्ड्स और टुपल्स डेटा को अपरिवर्तनीय रूप से संभालने के लिए उपयोगी तरीकों के साथ आते हैं। उदाहरण के लिए, टुपल्स के लिए with विधि विशिष्ट सूचकांकों पर आसान अपडेट की अनुमति देती है:

// Creating a Tuple 
const originalMixtape = #[ "If We Were Vampires", "World Leader Pretend", "Right Back to It" ];
 // Updating a specific index 
const updatedMixtape = originalMixtape.with(1, "Turn You Inside-Out"); 
console.log(originalMixtape); 
// Outputs: #[ "If We Were Vampires", "World Leader Pretend", "Right Back to It" ]; 
console.log(updatedMixtape); 
// Outputs: #[ "If We Were Vampires", "Turn You Inside-Out", "Right Back to It" ];
// एक टुपल बनाना कॉन्स्ट ओरिजिनलमिक्सटेप = #["अगर हम पिशाच होते", "वर्ल्ड लीडर प्रिटेंड", "राइट बैक टू इट" ]; // एक विशिष्ट सूचकांक अद्यतन कर रहा है कॉन्स्ट अपडेटेडमिक्सटेप = ओरिजिनलमिक्सटेप.विथ(1, "टर्न यू इनसाइड-आउट"); कंसोल.लॉग(ओरिजिनलमिक्सटेप); // आउटपुट: #

; कंसोल.लॉग(अद्यतनमिक्सटेप); // आउटपुट: #

;

इस उदाहरण में, with विधि मूल मूलमिक्सटेप को बदले बिना ट्रैक को इंडेक्स 1 पर अपडेट करती है।

निष्कर्ष

अपरिवर्तनीय डेटा संरचनाएं-रिकॉर्ड्स और टुपल्स- ईसीएमएस्क्रिप्ट 2024 में पेश किए गए थे, और जावास्क्रिप्ट के लिए एक बड़े सुधार का प्रतिनिधित्व करते हैं। वे डेटा स्थिरता को बढ़ावा देने, डिबगिंग को सरल बनाने और कार्यात्मक प्रोग्रामिंग प्रथाओं के साथ अच्छी तरह से संरेखित करने में मदद करते हैं। इन अपरिवर्तनीय संरचनाओं के साथ प्रयोग करके, आप परिवर्तनशील डेटा के सामान्य आश्चर्यों और दुष्प्रभावों से बचते हुए अधिक विश्वसनीय और रखरखाव योग्य एप्लिकेशन बना सकते हैं।

स्रोत:

https://www.interactivated.me/blog/whats-new-in-javascript-top-10-exciting-features-for-2024

https://thenewstack.io/whats-new-for-javascript-developers-in-ecmascript-2024/

https://www.w3schools.com/js/js_2024.asp

https://github.com/tc39/proposal-record-tuple https://tc39.es/proposal-record-tuple/tutorial/

Immutable Data Structures: Records and Tuples in ECMA 4

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/wendyver/immutable-data-structures-records-and-tuples-in-ecma-2024-1n39?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com पर संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3