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

Default Parameters की जानकारी

Default parameters automatically एक value provide करते हैं जब एक argument supply नहीं किया जाता। वे functions को call करना आसान बनाते हैं जबकि callers को custom values देने देते हैं।
Syntax
typescript
function name(param: type = defaultValue) {
  // body
}

Basic Default Values

किसी parameter को सीधे एक value assign करना, जैसे (retries: number = 3), उस value को default बनाता है जो caller द्वारा argument omit किए जाने पर उपयोग होता है।

मैन्युअली लिखे if (x === undefined) check के विपरीत, यह default function signature में ही enforce होता है।

उदाहरण: Basic Default Values

typescript
function connect(retries: number = 3) {
  console.log(`Connecting with ${retries} retries`);
}
connect();

Overriding Default Values

एक caller फिर भी कभी भी अपना argument provide करके default value को override कर सकता है, simply उस position में explicitly कुछ pass करके। Default सिर्फ तब kick in होता है जब argument छोड़ दिया जाए या undefined के रूप में pass किया जाए।

उदाहरण: Overriding Default Values

typescript
function connect(retries: number = 3) {
  console.log(`Connecting with ${retries} retries`);
}
connect(5);

Multiple Default Parameters

एक single function में अपने own default value वाले एक से ज़्यादा parameters हो सकते हैं, हर एक दूसरों से independent। यह एक function को कई sensible fallbacks देते हुए caller को ज़रूरत पड़ने पर पूरी customization accept करने देता है।

उदाहरण: Multiple Default Parameters

typescript
function createUser(name: string = "Guest", role: string = "member") {
  console.log(name, role);
}
createUser();
createUser("Priya");

Default Parameters with Expressions

एक default value का literal होना ज़रूरी नहीं है; यह एक expression से calculate हो सकता है, और वह expression हर बार fresh evaluate होता है जब function उस argument के बिना call हो।

यह उन defaults के लिए handy है जो दूसरे parameters या एक shared constant पर depend करते हैं।

उदाहरण: Default Parameters with Expressions

typescript
function logEvent(message: string, time: string = new Date().toISOString()) {
  console.log(message, time);
}
logEvent("Started");

Default Parameters vs Optional Parameters

Optional parameters function body के अंदर undefined हो सकते हैं, जबकि default parameters को argument omit होने के moment अपने आप fallback value मिल जाती है।

इसका मतलब है कि default parameters को वह manual undefined check कभी नहीं चाहिए जो optional parameters को अक्सर चाहिए।

उदाहरण: Default Parameters vs Optional Parameters

typescript
function withDefault(x: number = 10) {
  console.log(x); // always a number
}
function withOptional(x?: number) {
  console.log(x); // number | undefined
}
withDefault();
withOptional();
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. एक default parameter को required parameters से पहले रखना और यह भूल जाना कि callers को इसे skip करने के लिए undefined pass करना होगा।
  2. यह सोचना कि एक default value null pass होने पर apply होती है, जब यह सिर्फ undefined या एक missing argument के लिए apply होती है।
  3. यह मान लेना कि new Date() जैसा एक default एक बार evaluate होता है, जब यह हर call पर evaluate होता है।

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.