← Back to TypeScript Course | Chapter 3: Variables and Functions | Lesson 8 of 10

Rest Parameters की जानकारी

Rest parameters एक function को किसी भी संख्या के arguments accept करने और उन्हें एक array में collect करने देते हैं। वे parameter name से पहले तीन dots उपयोग करके लिखे जाते हैं।
Syntax
typescript
function name(...rest: type[]) {
  // rest is an array
}

Basic Rest Parameters

एक rest parameter, जो ...args: number[] के रूप में लिखा जाता है, एक function को pass हुए हर remaining argument को एक single array में collect करता है। यह एक function को हर एक को individually list किए बिना trailing arguments की एक unlimited संख्या accept करने देता है।

उदाहरण: Basic Rest Parameters

typescript
function sum(...args: number[]): number {
  return args.reduce((total, n) => total + n, 0);
}
console.log(sum(1, 2, 3, 4));

Rest Parameters with Required Parameters

एक function freely required parameters को एक rest parameter से पहले mix कर सकता है, जैसे (first: string, ...rest: number[])। Required parameters पहले positionally match होते हैं, और जो भी बचा रहता है वह rest array में gather हो जाता है।

उदाहरण: Rest Parameters with Required Parameters

typescript
function logScores(student: string, ...scores: number[]) {
  console.log(student, scores);
}
logScores("Anya", 90, 85, 95);

Rest Parameters Are Arrays

Function body के अंदर, rest parameter exactly एक normal typed array जैसा behave करता है, map, reduce, या forEach जैसे हर standard array method को support करते हुए। एक बार collect हो जाने के बाद इसके साथ काम करने के लिए कोई special syntax नहीं चाहिए।

उदाहरण: Rest Parameters Are Arrays

typescript
function average(...nums: number[]): number {
  return nums.reduce((a, b) => a + b, 0) / nums.length;
}
console.log(average(4, 8, 12));

Rest Parameters and Type Safety

Rest parameter को एक appropriate array type देना, जैसे ...values: string[], TypeScript को इसके through supply किए गए हर single argument को उस type के against check करने देता है। उस trailing group में कहीं भी एक mismatched value pass करना compile time पर पकड़ा जाता है।

उदाहरण: Rest Parameters and Type Safety

typescript
function joinWords(...values: string[]): string {
  return values.join(" ");
}
// joinWords("a", 2); // rejected: 2 is not a string
console.log(joinWords("Hello", "World"));

When to Use Rest Parameters

Rest parameters सही tool हैं जब भी एक function accept करने वाले inputs की संख्या naturally variable हो या simply पहले से unknown हो, जैसे एक sum function जो किसी भी quantity के numbers add करे।

वे पुराने arguments object को एक properly typed alternative से replace करते हैं।

उदाहरण: When to Use Rest Parameters

typescript
function total(...amounts: number[]): number {
  return amounts.reduce((sum, n) => sum + n, 0);
}
console.log(total(10, 20, 30, 40));
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. Rest parameter को दूसरे parameters से पहले रखना, जैसे (...args: number[], first: string), जब इसे आखिर में होना चाहिए।
  2. ...args: number declare करना एक array type जैसे number[] के बजाय।
  3. एक ही function में एक से ज़्यादा rest parameter उपयोग करने की कोशिश करना।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.