JavaScript में, लेंस फंक्शनल प्रोग्रामिंग की एक अवधारणा है जो आपको डेटा तक मॉड्यूलर और इम्यूटेबल तरीके से पहुँचने और उसे बदलने देती है। मूल रूप से ये प्योर गेटर और सेटर फंक्शन के ऐसे कंपोज़ेबल जोड़े होते हैं जो किसी ऑब्जेक्ट के अंदर किसी खास फील्ड पर ध्यान केंद्रित करते हैं।
लेंस की मदद से कोड को आसान बनाया जा सकता है, उसे और ज़्यादा दोबारा इस्तेमाल करने लायक बनाया जा सकता है, और प्रोग्रामिंग की आम गलतियों से बचा जा सकता है। उदाहरण के लिए, लेंस का इस्तेमाल इन कामों के लिए किया जा सकता है:
नेस्टेड रिकॉर्ड अपडेट करने के लिए लेंस का इस्तेमाल कीजिए (यह उन भाषाओं पर लागू है जिनमें इम्यूटेबल डेटा होता है)।
नेस्टेड और इम्यूटेबल रिकॉर्ड के फील्ड अपडेट करना थोड़ा परेशान करने वाला होता है। ऐसे मामलों में संरचना जितनी गहरी होती है, कोड उतना ही बोझिल होता है। मान लीजिए, आपके पास एक Person है, जिसमें एक Address है, जिसमें एक Street है, जिसमें एक Number है। अब Number को अपडेट करने के लिए नए Number वाली नई Street बनानी पड़ती है, फिर नई Street वाला नया Address, और अंत में नए Address वाला नया Person बनाना पड़ता है। क्या आप पहले ही उलझ गए हैं?
इस समस्या को हल करने का एक तरीका है लेंस का इस्तेमाल करना।
लेंस का इस्तेमाल करके रिकॉर्ड एक्सेस करने वाले कई फंक्शन बनाइए। टेस्ट सूट भी आपको लेंस के बिना काम करने देता है, ताकि आप अलग-अलग तरीके आज़मा सकें।
Exercism पर साइन अप कीजिए और JavaScript को 37 कॉन्सेप्ट159 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।