परिचय
रेस्ट ऑपरेटर (...) हमें किसी भी संख्या में आर्गुमेंट्स के साथ फ़ंक्शन को कॉल करने और फिर उन अतिरिक्त आर्गुमेंट्स को एक ऐरे के रूप में एक्सेस करने की अनुमति देता है। यह ऐरे या ऑब्जेक्ट्स को डीस्ट्रक्चर करने में भी सक्षम बनाता है।
स्प्रेड ऑपरेटर (...) हमें ऐरे जैसे इटरेबल को उसके व्यक्तिगत एलिमेंट्स में एक्सपैंड करने की अनुमति देता है।
उदाहरण
निम्न कोड जावास्क्रिप्ट में रेस्ट और स्प्रेड ऑपरेटर को दर्शाता है:
<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>रेस्ट और स्प्रेड ऑपरेटर</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .sample, .result { font-size: 20px; font-weight: 500; } </style> </head> <body> <h1>जावास्क्रिप्ट रेस्ट और स्प्रेड ऑपरेटर</h1> <div class="sample"></div> <div style="color: green;" class="result"></div> <button class="btn">स्प्रेड ऑपरेटर</button> <h3> स्प्रेड ऑपरेटर का उपयोग करके ऐरे कन्कैटनेट करने के लिए ऊपर दिए गए बटन पर क्लिक करें </h3> <button class="btn">रेस्ट ऑपरेटर</button> <div style="color: green;" class="result"></div> <h3> रेस्ट ऑपरेटर का उपयोग करके संख्याएँ जोड़ने के लिए ऊपर दिए गए बटन पर क्लिक करें </h3> <script> const sampleEle = document.querySelector(".sample"); const btnEle = document.querySelectorAll(".btn"); const resEle = document.querySelectorAll(".result"); const arr = [2, 3, 4, 5]; const arr1 = ["a", "b", "c", "d"]; sampleEle.innerHTML = "arr = " + arr + "<br> arr1 = " + arr1; // रेस्ट ऑपरेटर: शेष आर्गुमेंट्स को ऐरे के रूप में एकत्र करता है function addArr(num, ...ar) { let sum = num; ar.forEach((item) => { sum += item; }); resEle[1].innerHTML = "एलिमेंट्स का योग = " + sum; } // स्प्रेड ऑपरेटर: ऐरे को व्यक्तिगत एलिमेंट्स में एक्सपैंड करता है btnEle[0].addEventListener("click", () => { resEle[0].innerHTML = "कन्कैटनेटेड ऐरे = " + [...arr, ...arr1]; }); btnEle[1].addEventListener("click", () => { addArr(44, 11, 35, 44, 22, 99); }); </script> </body> </html>
आउटपुट
उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा:

'स्प्रेड ऑपरेटर' बटन पर क्लिक करने पर:

'रेस्ट ऑपरेटर' बटन पर क्लिक करने पर:

मुख्य अंतर
| विशेषता | रेस्ट ऑपरेटर | स्प्रेड ऑपरेटर |
|---|---|---|
| उपयोग | फ़ंक्शन पैरामीटर्स / डीस्ट्रक्चरिंग में | फ़ंक्शन कॉल्स / ऐरे लिटरल्स / ऑब्जेक्ट लिटरल्स में |
| कार्य | कई मानों को एक ऐरे में एकत्र करता है | इटरेबल को व्यक्तिगत एलिमेंट्स में एक्सपैंड करता है |
| स्थिति | पैरामीटर सूची में अंतिम होना चाहिए | जहाँ आर्गुमेंट्स/एलिमेंट्स अपेक्षित हों वहाँ कहीं भी |