arguments ऑब्जेक्ट का उपयोग
JavaScript में किसी फंक्शन को अनिश्चित संख्या में आर्गुमेंट्स पास करने के लिए arguments ऑब्जेक्ट का उपयोग किया जाता है। यह एक ऐरे-जैसा ऑब्जेक्ट है जो फंक्शन को पास किए गए सभी आर्गुमेंट्स को रखता है।
उदाहरण
<html>
<body>
<script>
function functionArgument(val1, val2, val3) {
var res = "";
res += "Expected Arguments: " + functionArgument.length + "<br />";
res += "Current Arguments : " + arguments.length + "<br />";
res += "Each argument = ";
for (var p = 0; p < arguments.length; p++) {
res += "<br />";
res += arguments[p]; // arguments[p] का उपयोग करें, functionArgument.arguments[p] नहीं
res += " ";
}
document.write(res);
}
functionArgument(20, 50, 80, "Demo Text!", "Hello World", new Date());
</script>
</body>
</html>
आउटपुट
Expected Arguments: 3 Current Arguments : 6 Each argument = 20 50 80 Demo Text! Hello World [Date Object]
महत्वपूर्ण बिंदु
arguments.length- वास्तव में पास किए गए आर्गुमेंट्स की संख्याfunctionName.length- फंक्शन डेफिनिशन में घोषित पैरामीटर्स की संख्याargumentsएक ऐरे-जैसा ऑब्जेक्ट है, वास्तविक ऐरे नहीं- इसमें
.forEach(),.map()आदि ऐरे मेथड्स नहीं होते
ES6 रेस्ट पैरामीटर्स (सुझाया गया)
आधुनिक JavaScript में arguments के बजाय रेस्ट पैरामीटर्स (...args) का उपयोग करना बेहतर है:
{
console.log(index, arg);
});
// फ्लैट करने के लिए
const allValues = args.flat();
}
modernFunction(1, 2, 3, "hello", [4, 5]);
arguments को ऐरे में बदलना (लीगेसी)
विशेषता
arguments ऑब्जेक्ट
रेस्ट पैरामीटर्स (...args)
टाइप
ऐरे-जैसा ऑब्जेक्ट
वास्तविक ऐरे
ऐरे मेथड्स
नहीं
हाँ
एरो फंक्शन्स में उपलब्ध
नहीं
हाँ
नामित पैरामीटर्स के साथ
सभी आर्गुमेंट्स शामिल
केवल शेष आर्गुमेंट्स