JavaScript Default Parameters

本文最后更新于 2024年3月6日 晚上

Setting JavaScript default parameters for a function

在 JavaScript 中,参数的默认值是 undefined。这意味着,如果不将参数传递给函数,则其参数的默认值将是 undefined。

假设要为 message 参数指定默认值 ‘Hi’。

实现此目的的典型方法是使用三元运算符测试参数值并分配默认值(如果未定义):

1
2
3
4
5
function say(message) {
message = typeof message !== 'undefined' ? message : 'Hi'
console.log(message)
}
say() // 'Hi'

ES6 提供了一种更简单的方法来设置函数参数的默认值,如下所示:

1
2
function fn(param1=default1, param2=default2,..) {
}

在上面的语法中,可以使用赋值运算符 (=) 和参数名称后面的默认值来设置该参数的默认值。

1
2
3
4
5
6
7
function say(message = 'Hi') {
console.log(message)
}

say() // 'Hi'
say(undefined) // 'Hi'
say('Hello') // 'Hello'

Using functions

可以使用函数的返回值作为参数的默认值。

1
2
3
4
5
6
7
let taxRate = () => 0.1
let getPrice = function (price, tax = price * taxRate()) {
return price + tax
}

let fullPrice = getPrice(100)
console.log(fullPrice) // 110

The arguments object

函数内 arguments 对象的值是传递给函数的实际参数的数量。

1
2
3
4
5
6
7
8
function add(x, y = 1, z = 2) {
console.log(arguments.length)
return x + y + z
}

add(10) // 1
add(10, 20) // 2
add(10, 20, 30) // 3

JavaScript Default Parameters
https://stein283036.github.io/2024/03/06/JavaScript-Default-Parameters/
作者
倪京龙
发布于
2024年3月6日
更新于
2024年3月6日
许可协议