स्प्रेड सिंटैक्स बनाम रेस्ट पैरामीटर: अंतर को समझना
ES2015 में, दो नई सुविधाएं, स्प्रेड सिंटैक्स और रेस्ट पैरामीटर, शक्तिशाली तरीके प्रदान करते हैं सरणियों और वस्तुओं में हेरफेर करें। हालांकि दोनों समान लग सकते हैं, वे अलग-अलग उद्देश्यों की पूर्ति करते हैं और प्रत्येक की अपनी अनूठी कार्यक्षमता होती है। ) आपको किसी पुनरावर्तनीय (जैसे कोई सरणी या ऑब्जेक्ट) को किसी अन्य पुनरावर्तनीय के भीतर अलग-अलग तत्वों में फैलाने या विस्तारित करने की अनुमति देता है। यह सुविधा आपको कई सरणियों या ऑब्जेक्ट को आसानी से मर्ज करने या एक नए में संयोजित करने में सक्षम बनाती है।
उदाहरण के लिए, आइए निम्नलिखित कोड पर विचार करें:
var abc = ['a', 'बी', 'सी']; var def = ['d', 'e', 'f']; वर अल्फा = [ ...एबीसी, ...डीईएफ ]; कंसोल.लॉग(अल्फा); // अल्फा == ['ए', 'बी', 'सी', 'डी', 'ई', 'एफ'];इस स्निपेट में, ...एबीसी और... डीईएफ़ स्प्रेड सिंटैक्स एबीसी और डीईएफ़ सरणियों को अलग-अलग तत्वों में विस्तारित करता है, जिससे एक नया अल्फा ऐरे बनता है जिसमें दोनों सरणियों के सभी तत्व शामिल होते हैं।var abc = ['a', 'b', 'c'];
var def = ['d', 'e', 'f'];
var alpha = [ ...abc, ...def ];
console.log(alpha); // alpha == ['a', 'b', 'c', 'd', 'e', 'f'];
दूसरी ओर , एक बाकी पैरामीटर (एक पहचानकर्ता से पहले तीन बिंदुओं "..." द्वारा चिह्नित) किसी फ़ंक्शन में पारित किसी भी शेष तर्क को एक सरणी में एकत्र करता है। रेस्ट पैरामीटर फ़ंक्शन की पैरामीटर सूची में अंतिम पैरामीटर होना चाहिए।
कार्य में रेस्ट पैरामीटर का एक उदाहरण इस प्रकार है:
function sumAll(...numbers) { माना कुल = 0; के लिए (संख्याओं की संख्या दें) { कुल = संख्या; } कुल वापसी; } मान लीजिए परिणाम = योग(1, 2, 3, 4, 5); कंसोल.लॉग(परिणाम); // परिणाम == 15इस कोड में, ...नंबर्स रेस्ट पैरामीटर sumAll फ़ंक्शन में दिए गए शेष तर्कों को एकत्र करता है (इस मामले में, 1, 2, 3, 4, और 5) और बनाता है एक एकल संख्या सरणी।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3