是否可以让第一个 JavaScript 参数具有默认值?

Is having the first JavaScript parameter with default value possible?

最后一个参数有默认值比较实用,如下。

function add(x, y = 5) {
    return x + y;
}

console.log(add(3)); // results in '8'

但是,除了最后一个参数之外,是否可以使用默认值?如果是这样,您将如何使用第一个默认值但提供第二个参数来调用它?

function add(x = 5, y) {
    return x + y;
}
    
console.log(add(,3)); // doesn't work

无论默认值如何,您仍然需要提供第一个参数。

尝试 destructuring 单个参数,如下所示:

function add({ x = 5, y }) {
    return x + y;
}

console.log(add({ y: 3 })); // results in '8'

尽管如此,您仍然需要指定 y 键,但这是一种更好的做法。

您仍然可以保持 add 函数不变,方法是使用来自已破坏数组的参数调用它,如下面的片段

function add(x = 5, y) {
  return x + y;
}

console.log(add(...[,3]));