...
(जावास्क्रिप्ट में तीन डॉट्स) को स्प्रेड सिंटैक्स या स्प्रेड ऑपरेटर कहा जाता है। यह एक एरे एक्सप्रेशन या स्ट्रिंग एक्सप्रैस जैसे एक एक्सरेबल या ऑब्जेक्ट एक्सप्रेशन को जहां कहीं भी रखा गया है , एक्सटेंड करने की अनुमति देता है । यह रिएक्ट के लिए विशिष्ट नहीं है। यह एक जावास्क्रिप्ट ऑपरेटर है।
यहाँ ये सभी उत्तर मददगार हैं, लेकिन मैं स्प्रेड सिंटैक्स (स्प्रेड ऑपरेटर्स) के ज्यादातर इस्तेमाल किए गए व्यावहारिक उपयोग मामलों को सूचीबद्ध करना चाहता हूं ।
1. कंघी एरे (कॉनराटेट एरेज़)
वहाँ एक हैं सरणियों गठबंधन करने के लिए तरीकों की विविधता , लेकिन प्रसार ऑपरेटर आप एक सरणी में किसी भी स्थान पर इस जगह के लिए अनुमति देता है। यदि आप सरणी के भीतर किसी बिंदु पर दो सरणियों और स्थान तत्वों को संयोजित करना चाहते हैं, तो आप निम्नानुसार कर सकते हैं:
var arr1 = ['two', 'three'];
var arr2 = ['one', ...arr1, 'four', 'five'];
// arr2 = ["one", "two", "three", "four", "five"]
2. नकल करना
जब हम एक सरणी की एक प्रति चाहते थे, तो हमारे पास Array.prototypr.slice () विधि थी। लेकिन, आप प्रसार ऑपरेटर के साथ भी ऐसा कर सकते हैं।
var arr = [1,2,3];
var arr2 = [...arr];
// arr2 = [1,2,3]
3. लागू किए बिना कार्य कॉलिंग
ES5 में, doStuff()
फ़ंक्शन को दो संख्याओं की एक सरणी पास करने के लिए , आप अक्सर फ़ंक्शन .prototype.apply () आदि का उपयोग करते हैं:
function doStuff (x, y, z) { }
var args = [0, 1, 2];
// Call the function, passing args
doStuff.apply(null, args);
हालांकि, प्रसार ऑपरेटर का उपयोग करके, आप फ़ंक्शन में एक सरणी पास कर सकते हैं।
doStuff(...args);
4. विनाशकारी ऐरे
जैसा कि आप उन्हें चाहते हैं, आप जानकारी को चरों में नष्ट करने के लिए विनाशकारी और बाकी ऑपरेटर का उपयोग कर सकते हैं:
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
console.log(x); // 1
console.log(y); // 2
console.log(z); // { a: 3, b: 4 }
5. बाकी पैरामीटर्स के रूप में कार्य तर्क
ईएस 6 में तीन डॉट्स (...) भी है जो एक बाकी पैरामीटर है जो किसी फ़ंक्शन के सभी शेष तर्कों को एक सरणी में इकट्ठा करता है।
function f(a, b, ...args) {
console.log(args);
}
f(1,2,3,4,5);
// [ 3, 4, 5 ]
6. मैथ फंक्शंस का उपयोग करना
कोई भी फ़ंक्शन जहां प्रसार का उपयोग किया जाता है तर्क का उपयोग उन कार्यों द्वारा किया जा सकता है जो किसी भी तर्क को स्वीकार कर सकते हैं।
let numbers = [9, 4, 7, 1];
Math.min(...numbers); // 1
7. दो वस्तुओं का मेल
आप दो ऑब्जेक्ट को संयोजित करने के लिए स्प्रेड ऑपरेटर का उपयोग कर सकते हैं। यह एक आसान और साफ तरीका है।
var carType = {
model: 'Toyota',
yom: '1995'
};
var carFuel = 'Petrol';
var carData = {
...carType,
carFuel
}
console.log(carData);
// {
// model: 'Toyota',
// yom: '1995',
// carFuel = 'Petrol'
// }
8. एक स्ट्रिंग को अलग अक्षरों में अलग करें
आप स्ट्रिंग को अलग-अलग वर्णों में फैलाने के लिए प्रसार ऑपरेटर का उपयोग कर सकते हैं।
let chars = ['A', ...'BC', 'D'];
console.log(chars); // ["A", "B", "C", "D"]
आप स्प्रेड ऑपरेटर का उपयोग करने के और तरीकों के बारे में सोच सकते हैं। मैंने यहां जो सूचीबद्ध किया है, वह इसके लोकप्रिय उपयोग के मामले हैं।