ट्रैक
/
JavaScript
JavaScript
/
सिलेबस
/
रेस्ट और स्प्रेड
रे

रेस्ट और स्प्रेड में JavaScript

9 अभ्यास

रेस्ट और स्प्रेड के बारे में

JavaScript में एक बिल्ट-इन ... ऑपरेटर होता है, जिससे अनिश्चित संख्या के एलिमेंट के साथ काम करना आसान हो जाता है। यह संदर्भ के अनुसार रेस्ट ऑपरेटर या स्प्रेड ऑपरेटर कहलाता है।

रेस्ट ऑपरेटर

रेस्ट एलिमेंट

जब ... किसी असाइनमेंट के बाईं ओर आता है, तो उन तीन बिंदुओं को rest ऑपरेटर कहा जाता है। तीन बिंदुओं को एक वेरिएबल के नाम के साथ मिलाकर रेस्ट एलिमेंट कहा जाता है। यह शून्य या उससे अधिक वैल्यू इकट्ठा करता है और उन्हें एक ही ऐरे में संग्रहीत करता है।

const [a, b, ...everythingElse] = [0, 1, 1, 2, 3, 5, 8];

a;
// => 0
b;
// => 1
everythingElse;
// => [1, 2, 3, 5, 8]

ध्यान दीजिए कि कुछ अन्य भाषाओं के विपरीत JavaScript में किसी rest एलिमेंट के बाद कॉमा नहीं लगाया जा सकता। यह डिस्ट्रक्चरिंग असाइनमेंट में अंतिम एलिमेंट होना ही चाहिए। नीचे दिया गया उदाहरण SyntaxError देता है:

const [...items, last] = [2, 4, 8, 16]

रेस्ट प्रॉपर्टी

ऐरे की तरह ही, रेस्ट ऑपरेटर का उपयोग एक या अधिक ऑब्जेक्ट प्रॉपर्टी इकट्ठा करके उन्हें एक ही ऑब्जेक्ट में संग्रहीत करने के लिए भी किया जा सकता है।

const { street, ...address } = {
  street: 'Platz der Republik 1',
  postalCode: '11011',
  city: 'Berlin',
};

street;
// => 'Platz der Republik 1'

address;
// => {postalCode: '11011', city: 'Berlin'}

रेस्ट पैरामीटर

जब ... किसी फंक्शन को बनाते समय उसके अंतिम आर्गुमेंट के पास आता है, तो उस पैरामीटर को रेस्ट पैरामीटर कहा जाता है। यह फंक्शन को अनिश्चित संख्या के आर्गुमेंट एक ऐरे के रूप में लेने देता है।

function concat(...strings) {
  return strings.join(' ');
}

concat('one');
// => 'one'

concat('one', 'two', 'three');
// => 'one two three'

स्प्रेड

स्प्रेड एलिमेंट

जब ... किसी असाइनमेंट के दाईं ओर आता है, तो इसे spread ऑपरेटर कहा जाता है। यह एक ऐरे को एलिमेंट की सूची में फैला देता है। रेस्ट एलिमेंट के विपरीत, यह ऐरे लिटरल एक्सप्रेशन में कहीं भी आ सकता है, और एक से अधिक भी हो सकते हैं।

const oneToFive = [1, 2, 3, 4, 5];
const oneToTen = [...oneToFive, 6, 7, 8, 9, 10];

oneToTen;
// => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const woow = ['A', ...oneToFive, 'B', 'C', 'D', 'E', ...oneToFive, 42];

woow;
// =>  ["A", 1, 2, 3, 4, 5, "B", "C", "D", "E", 1, 2, 3, 4, 5, 42]

स्प्रेड प्रॉपर्टी

ऐरे की तरह ही, स्प्रेड ऑपरेटर का उपयोग एक ऑब्जेक्ट की प्रॉपर्टी को दूसरे में कॉपी करने के लिए भी किया जा सकता है।

let address = {
  postalCode: '11011',
  city: 'Berlin',
};

address = { ...address, country: 'Germany' };
// => {
//   postalCode: '11011',
//   city: 'Berlin',
//   country: 'Germany',
// }
GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

रेस्ट और स्प्रेड सीखिए