Spread & Rest Operators Kya Hote Hai?
Arrays aur objects ke saath kaam karne ke liye in modern ES6 features ko samjhein.
1. Spread Operator (...)
Spread operator (...
) ek iterable (jaise array ya string) ko uske individual elements me "spread" ya "expand" kar deta hai. Iska use aamtaur par arrays ko combine karne, objects ko merge karne, ya function me multiple arguments pass karne ke liye hota hai.
Use Cases with Examples:
A. Arrays ko combine karna
const fruits = ['apple', 'banana'];
const moreFruits = ['grapes', 'mango'];
const allFruits = [...fruits, ...moreFruits];
console.log(allFruits); // Output: ['apple', 'banana', 'grapes', 'mango']
B. Array ki copy banana (cloning)
const original = [1, 2, 3];
const copy = [...original];
console.log(copy); // Output: [1, 2, 3]
C. Function me multiple arguments dena
function sum(a, b, c) {
return a + b + c;
}
const nums = [1, 2, 3];
console.log(sum(...nums)); // Output: 6
D. Objects ko merge karna
const user = { name: "Amit", age: 25 };
const location = { city: "Delhi", country: "India" };
const userDetails = { ...user, ...location };
console.log(userDetails); // Output: { name: "Amit", age: 25, city: "Delhi", country: "India" }
2. Rest Operator (...)
Rest operator ka syntax bhi spread jaisa (...
) hi hota hai, lekin iska kaam bilkul ulta hai. Yeh multiple elements ko ek single element (array) me "collect" ya "gather" karta hai. Iska use aamtaur par function parameters aur destructuring me hota hai.
Use Cases with Examples:
A. Function me multiple arguments lena
Jab aapko nahi pata ki function me kitne arguments aane wale hain, tab aap rest operator ka use kar sakte hain.
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3, 4)); // Output: 10
B. Array destructuring ke saath
Aap array ke shuru ke kuch elements ko variables me daal sakte hain aur bache hue sabhi elements ko ek naye array me collect kar sakte hain.
const [first, second, ...rest] = [10, 20, 30, 40, 50];
console.log(first); // 10
console.log(second); // 20
console.log(rest); // [30, 40, 50]
Spread vs. Rest: Mukhya Antar
Feature | Spread Operator | Rest Operator |
---|---|---|
Kaam | Values ko expand karta hai (ek se anek). | Values ko collect karta hai (anek se ek). |
Use | Array literals, object literals, function calls me. | Function parameters, destructuring assignment me. |
Simple shabdon me: Debounce kehta hai, "Jab tak tum type kar rahe ho, main wait karunga. Jab tum rukoge, tab main kaam karunga." Throttle kehta hai, "Tum kitna bhi scroll karo, main har 200ms me ek baar hi kaam karunga."
Test Your Knowledge!
Kya aap Spread & Rest Operators ke baare mein seekh chuke hain? Chaliye dekhte hain!
Start Quiz