在 JS 中将深层嵌套对象属性添加到 Window

Adding deep nested object properties to Window in JS

我想清理这段代码。有没有一种方法可以在不使用 Lodash、Ramda 或一些拆分对象 属性 字符串并循环遍历它的可怕方法的情况下设置深层对象属性?

export const initialiseBlackbox = (value = '') => {
    if (window === undefined) {
        window = { IGLOO }
    }

    if (window.IGLOO === undefined) {
        window.IGLOO = {}
    }    

    if (window.IGLOO.getBlackbox === undefined) {
        window.IGLOO.getBlackbox = () => ({ blackbox: value })
    }
}

当然可以,但它并不漂亮:

export const initialiseBlackbox = (value = '') =>
    Object.assign(window.IGLOO || (window.IGLOO = {}),
    { getBlackbox: () => ({ backbox: value }) });