К сожалению, JS не поддерживает исключения (пропуски) для аргументов функции, поэтому вы не можете просто написать
f(1,,2)
и ожидать, что 2-й аргумент будет использоваться по умолчанию.Вместо этого вы можете использовать выборки массива:
function f(a, b = 99, c) {
console.log(a, b, c)
}
f(...[1,,2])
Не уверен, что это стоит того.
Как упоминал @Dave Marshall, самый простой способ пройти undefined
, я 'Использовать его в более удобочитаемой форме, чтобы было ясно, какой параметр пропущен:
function f(a, b = 99, c) {
console.log(a, b, c)
}
f(1, void 'b', 2)