В Javascript можно деконструировать объекты и предоставлять значения по умолчанию для объявления переменных.
Ниже свойство name школьного объекта внутри объекта пользователя будет присвоено переменной name.
Однако это также происходит для неопределенных переменных.
const user = {
id: 339,
name: 'Fred',
age: 42,
education: {
school: {
name: undefined
}
}
}
const {education: {school: {name}} = {school: {name: 'Dunno'}}} = user;
console.log(name); //prints: undefined
Выше приведен пример из Уничтожение вложенных объектов
Есть ли способ защититься от этого внутри деконструкции, чтобы имя печатало по умолчанию "Незнайка"?