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

जावास्क्रिप्ट में स्प्रेड और रेस्ट ऑपरेटर्स

2024-11-01 को प्रकाशित
ब्राउज़ करें:395

Spread and Rest Operators in JavaScript

स्नैक स्टोरी:
मान लीजिए कि आपके पास नाश्ते की एक टोकरी है:

const snacks = ['apple', 'banana', 'chocolate'];

अब, आप इन स्नैक्स को अपने दोस्तों के साथ साझा करना चाहते हैं। लेकिन उन्हें पूरी टोकरी देने के बजाय, आप प्रत्येक नाश्ता निकालें और उन्हें एक-एक करके दें:

console.log(...snacks);  // Output: apple banana chocolate

... (स्प्रेड) ऑपरेटर नाश्ते को टोकरी से निकालकर मेज पर फैलाने जैसा है। अब आपके मित्र उन्हें व्यक्तिगत रूप से उठा सकते हैं!

दूसरी ओर, यदि आपके दोस्त और भी अधिक स्नैक्स लाते हैं, तो आप ... (बाकी) ऑपरेटर का उपयोग करके उन सभी को एक बड़ी टोकरी में इकट्ठा कर सकते हैं:

function collectSnacks(...moreSnacks) {
  console.log(moreSnacks);
}

collectSnacks('cookie', 'chips', 'juice');  // Output: ['cookie', 'chips', 'juice']

यहाँ, ... ऑपरेटर सभी स्नैक्स को एक नई टोकरी में एकत्र करता है। रेस्ट ऑपरेटर इस प्रकार काम करता है!

यदि आप जावास्क्रिप्ट में नए हैं, तो आपको दो विशेष सिंटैक्स तत्व मिले होंगे: स्प्रेड और रेस्ट ऑपरेटर। वे दोनों एक जैसे दिखते हैं—तीन बिंदु (...)—लेकिन उनका उपयोग अलग-अलग तरीकों से किया जाता है। आइए उन्हें सरल उदाहरणों से तोड़ें!

1. स्प्रेड ऑपरेटर क्या है?
स्प्रेड ऑपरेटर (...) का उपयोग किसी सरणी या ऑब्जेक्ट को अलग-अलग तत्वों में विस्तारित करने के लिए किया जाता है। यह किसी सरणी या ऑब्जेक्ट को उसके घटकों में अनपैक करने जैसा है।

उदाहरण: एक सरणी का विस्तार
मान लीजिए कि आपके पास संख्याओं की एक श्रृंखला है, और आप उन्हें अलग-अलग एक फ़ंक्शन में पास करना चाहते हैं।

const numbers = [1, 2, 3];
console.log(...numbers);  // Output: 1 2 3

आप सरणी तत्वों को फैलाने के लिए स्प्रेड ऑपरेटर का उपयोग कर सकते हैं!

उदाहरण: सारणियों का संयोजन
यदि आपके पास दो ऐरे हैं और आप उन्हें मर्ज करना चाहते हैं, तो स्प्रेड ऑपरेटर इसे आसान बनाता है:

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];

const mergedArray = [...array1, ...array2];
console.log(mergedArray);  // Output: [1, 2, 3, 4, 5, 6]

यह array1 और array2 से सभी तत्वों को एक नई सारणी में डालने जैसा है।

उदाहरण: किसी वस्तु की प्रतिलिपि बनाना
आप ऑब्जेक्ट के साथ स्प्रेड ऑपरेटर का भी उपयोग कर सकते हैं:

const user = { name: "Ahmed", age: 25 };
const updatedUser = { ...user, location: "Bengaluru" };

console.log(updatedUser);
// Output: { name: "Ahmed", age: 25, location: "Bengaluru" }

यहां, हमने उपयोगकर्ता ऑब्जेक्ट से गुणों की प्रतिलिपि बनाई और एक नया संपत्ति स्थान जोड़ा।

  1. रेस्ट ऑपरेटर क्या है? रेस्ट ऑपरेटर स्प्रेड ऑपरेटर के विपरीत है। किसी सरणी या ऑब्जेक्ट का विस्तार करने के बजाय, यह कई तत्वों को एक सरणी या ऑब्जेक्ट में एकत्रित करता है।

उदाहरण: रेस्ट पैरामीटर्स के साथ फ़ंक्शन
कल्पना कीजिए कि आप एक ऐसा फ़ंक्शन लिख रहे हैं जिसमें कितने भी तर्क हों:

function addNumbers(...nums) {
  return nums.reduce((sum, current) => sum   current, 0);
}

console.log(addNumbers(1, 2, 3, 4));  // Output: 10

इस मामले में, बाकी ऑपरेटर ...nums सभी तर्कों को एक सरणी में एकत्र करता है, जिससे एकाधिक मानों के साथ काम करना आसान हो जाता है।

उदाहरण: विश्राम के साथ विनाश
सरणियों को नष्ट करते समय आप रेस्ट ऑपरेटर का भी उपयोग कर सकते हैं:

const [first, ...rest] = [1, 2, 3, 4];
console.log(first);  // Output: 1
console.log(rest);   // Output: [2, 3, 4]

यहां, पहले सरणी का पहला तत्व प्राप्त होता है, और शेष शेष तत्वों को एक नई सरणी में एकत्रित करता है।

निष्कर्ष
स्प्रेड और रेस्ट ऑपरेटर जावास्क्रिप्ट में शक्तिशाली और बहुमुखी उपकरण हैं। पुनर्कथन करने के लिए:

  • स्प्रेड (...) किसी सरणी या ऑब्जेक्ट को अलग-अलग तत्वों में विस्तारित करता है।
  • रेस्ट (...) कई तत्वों को एक सरणी या ऑब्जेक्ट में एकत्रित करता है।

आशा है कि आप इन 2 अवधारणाओं को समझ गए हैं और बाकी, यह आपके जावास्क्रिप्ट कोड को अधिक संक्षिप्त और पढ़ने में आसान बना देगा!

हैप्पी कोडिंग :)

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/amdzakir/spread-and-rest-operator-in-javascript-57j9?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3