есть ли способ вызвать f
и указать значение для c
напрямую?
Нет, JavaScript не имеет такого именованного параметра.
Вы можете позвонить f
, используя значение по умолчанию для b
, указав undefined
:
f(1, undefined, 5);
function f(a, b = 2, c = 3){
console.log(a, b, c)
}
f(1, undefined, 5);
Альтернативно, вы можете определить f
по-другому: пусть он принимает объект, который он разлагает на параметры, а затем вызывает его с объектом:
function f({a, b = 2, c = 3}){
console.log(a, b, c)
}
f({a: 1, c: 5});
Если вы хотите, чтобы он был действительным, чтобы вызывать его без объекта (это ошибка с указанным выше), укажите значение по умолчанию для параметра destructured:
function f({a, b = 2, c = 3} = {}){
// -------------------------^^^^^
console.log(a, b, c)
}