Это невозможно.
В параметрах вы пытаетесь извлечь 3 переменные: объект item1
, объект item2
и объект item3
.
Кроме того, вы также пытаетесь видоизменить item3
объект в случае, если он не содержит определенного свойства.
Но все, что может сделать деструктуризация, это извлечь свойстваиз объекта в переменные - он не может видоизменить любые существующие объекты (без некоторого действительно уродливого дурацкого кода, который не должен использоваться).
Если вы в порядке, извлеките индивидуумаСвойства из item3
в новые переменные, вполне возможно, хотя:
function foo({
item1 = 'a',
item2 = 'b',
item3: {
x = 1,
y = 2
} = {}
} = {}) {
console.log(item1, item2, x, y)
}
foo({item1: 'm', item2: 'n'})
foo({item1: 'm', item2: 'n', item3: {x: 99}})