У меня есть функция с параметром video, который может быть нулевым, и я пытаюсь деструктурировать ее с помощью значений по умолчанию. Натыкаюсь на пару вещей, которые меня смущают (даже пытался прочитать об этом)
const VideoDetail = ({
video = {},
} = {}) => {
console.info(video);
return 5;
};
Конечно, console.info(video) здесь не может быть нулевым и должен по умолчанию быть пустым объектом? Кажется, это не так. Что вызывает у меня проблемы в моем актуальном вопросе: Получение TypeError: null has no properties
const VideoDetail = ({
video = {},
video: { id: { videoId = 0 } = {} } = {}
} = {}) => {
console.info(videoId);
return 5;
};
Я думаю, это потому, что видео пустое. Если бы это был фактически пустой объект по умолчанию, этого бы не произошло, верно?
Что я пропустил?
Спасибо
Да неужели? Тогда это объясняет! Спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Параметры по умолчанию используются только в том случае, если свойство имеет значение undefined (либо не существует, либо установлено явно). Другие ложные (null, false и т. д.) значения не заменяются.
Подробнее здесь: Параметры по умолчанию - JavaScript | МДН
По умолчанию используются только
undefinedаргументы. Если вам нужно иметь дело с входными даннымиnull, вы должны выполнить явную проверку в теле функции.