Если вы хотите деструктурировать в списке параметров, у вас больше не будет доступа к всему исходному объекту (здесь options
) - у вас будут только деструктурированные переменные.Итак, оставьте часть options =
и поставьте =
после prop
вместо :
.Например:
const fun = function({ prop = 'default', a }) {
console.log('prop:', prop, 'a:', a);
};
fun({
a: 'x',
prop: 'hello'
}) // log: 'hello'
fun({
a: 'x'
}) // log: 'default'
Если функция также не может быть вызвана с какими-либо параметрами, вы можете по умолчанию назначить пустой объект:
const fun = function({ prop = 'default', a } = {}) {
console.log('prop:', prop, 'a:', a);
};
fun({
a: 'x',
prop: 'hello'
}) // log: 'hello'
fun({
a: 'x'
}) // log: 'default'
fun(); // log: 'default'