What are default parameters and how do you use them? Default parameters क्या हैं और कैसे use करते हैं?
Default parameters allow you to provide default values for function parameters if no argument is passed. This was introduced in ES6.
// Before ES6 - using || operator (problematic)
function greet(name) {
name = name || 'Guest'; // 0, false, '' also trigger default
console.log('Hello ' + name);
}
// ES6 default parameters (correct approach)
function greet2(name = 'Guest') {
console.log('Hello ' + name);
}
greet2(); // 'Hello Guest'
greet2('John'); // 'Hello John'
greet2(null); // 'Hello null' - null is a value!
greet2(undefined); // 'Hello Guest' - undefined triggers default
// Arrow functions with defaults
const add = (a = 0, b = 0) => a + b;
add(); // 0
add(5); // 5
add(5, 3); // 8
// Default parameters can reference other parameters
function createUser(name = 'Anonymous', email = name + '@example.com') {
return { name, email };
}
createUser('John'); // { name: 'John', email: 'John@example.com' }
createUser('Jane', 'jane@gmail.com'); // { name: 'Jane', email: 'jane@gmail.com' }
// Default parameters can be expressions
function config(timeout = 5000, retries = Math.floor(timeout / 1000)) {
return { timeout, retries };
}
config(); // { timeout: 5000, retries: 5 }
// Default parameters can be function calls
function test(value = getDefaultValue()) {
console.log(value);
}
// Skipping parameters (use undefined)
function multiply(a = 2, b = 3, c = 4) {
return a * b * c;
}
multiply(undefined, 5); // 2 * 5 * 4 = 40 (a uses default)Interview tip: Remember that null is a value and won't trigger the default, but undefined will. Also, default parameters are evaluated at call time, not at function definition time.
Default parameters function parameters के लिए default values provide करते हैं अगर कोई argument न pass हो। ES6 में introduce किए गए हैं।
// ES6 से पहले - || operator (गलत)
function greet(name) {
name = name || 'Guest'; // 0, false, '' भी trigger करेंगे
}
// ES6 default parameters (सही)
function greet2(name = 'Guest') {
console.log('Hello ' + name);
}
greet2(); // 'Hello Guest'
greet2('John'); // 'Hello John'
greet2(null); // 'Hello null' - null एक value है!
greet2(undefined); // 'Hello Guest' - undefined default trigger करता है
// Arrow functions
const add = (a = 0, b = 0) => a + b;
add(); // 0
add(5); // 5
add(5, 3); // 8
// दूसरे parameters को reference करना
function createUser(name = 'Anonymous', email = name + '@example.com') {
return { name, email };
}
// Expressions
function config(timeout = 5000, retries = Math.floor(timeout / 1000)) {
return { timeout, retries };
}
// Parameters को skip करना
function multiply(a = 2, b = 3, c = 4) {
return a * b * c;
}
multiply(undefined, 5); // 2 * 5 * 4इंटरव्यू टिप: याद रखें null एक value है और default को trigger नहीं करेगा, पर undefined करेगा। Default parameters call time पर evaluate होते हैं, definition time पर नहीं।
Was this answer clear?