Destructuring parameters (TypeError: null has no properties)

Destructuring parameters (TypeError: null has no properties)

我有一个带有 video 参数的函数,该参数可以为 null,我正在尝试使用默认值对其进行解构。我遇到了一些让我感到困惑的事情(甚至试图阅读它)

const VideoDetail = ({
    video = {},
} = {}) => {
    console.log(video);
    return 5; 
};

这里的console.log(video)肯定不能为null,应该默认为一个空对象吧?好像不是。这在我的实际问题中引起了问题:Getting TypeError: null has no properties

const VideoDetail = ({
    video = {}, 
    video: { id: { videoId = 0 } = {} } = {}
} = {}) => {
    console.log(videoId);
    return 5;
};

我认为这是因为视频为空。如果它实际上是一个空的默认对象,就不会发生这种情况,对吗?

我错过了什么?

谢谢

仅当 属性 为 undefined(不存在或明确设置)时才使用默认参数。其他虚假(nullfalse等)值不被替换。

在此处阅读更多内容:Default parameters - JavaScript | MDN