ईसीएमएस्क्रिप्ट 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, "टर्न यू इनसाइड-आउट"); कंसोल.लॉग(ओरिजिनलमिक्सटेप); // आउटपुट: #
; कंसोल.लॉग(अद्यतनमिक्सटेप); // आउटपुट: #
;निष्कर्ष
स्रोत:
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/
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3