在 JavaScript 中,你可以为函数参数设置默认值,以便在调用函数时未提供相应参数时使用这些默认值。默认参数值在 ES6(ECMAScript 2015)中引入,使用起来非常简单和直观。
以下是一些示例,展示如何在 JavaScript 函数中设置和使用默认参数值。
function greet(name = 'Guest') {
console.log(`Hello, ${name}!`);
}
greet(); // 输出: Hello, Guest!
greet('Alice'); // 输出: Hello, Alice!
在这个示例中,name
参数的默认值是 'Guest'
。如果调用 greet
函数时未提供 name
参数,则会使用默认值 'Guest'
。
function createUser(username = 'Anonymous', age = 18, isAdmin = false) {
return {
username,
age,
isAdmin
};
}
console.log(createUser());
// 输出: { username: 'Anonymous', age: 18, isAdmin: false }
console.log(createUser('JohnDoe', 25, true));
// 输出: { username: 'JohnDoe', age: 25, isAdmin: true }
在这个示例中,createUser
函数有三个参数,每个参数都有一个默认值。如果调用函数时未提供某个参数,则会使用相应的默认值。
你还可以将默认参数值与对象的解构赋值结合使用:
function configure(options = {}) {
const { host = 'localhost', port = 8080, secure = false } = options;
console.log(`Host: ${host}, Port: ${port}, Secure: ${secure}`);
}
configure();
// 输出: Host: localhost, Port: 8080, Secure: false
configure({ port: 3000 });
// 输出: Host: localhost, Port: 3000, Secure: false
configure({ host: 'example.com', secure: true });
// 输出: Host: example.com, Port: 8080, Secure: true
在这个示例中,configure
函数接受一个 options
对象,并使用解构赋值为 host
, port
, 和 secure
设置默认值。
undefined
的区别:只有在参数值为 undefined
时,才会使用默认值。如果参数值为 null
或其他假值(如 0
, false
),则不会使用默认值。function test(value = 'default') {
console.log(value);
}
test(undefined); // 输出: default
test(null); // 输出: null
test(0); // 输出: 0
test(false); // 输出: false
领取专属 10元无门槛券
手把手带您无忧上云