对象内部对象的引用值

时间:2019-10-29 11:23:02

标签: javascript

我有两条护照路线,要求我有两个不同的回叫网址。

现在,在我的配置文件中,我决定要使用的网址

将此视为对象

const intialconfig = {
    socialUrl: false,
    FACEBOOK_REDIRECT_URL: socialCalculator(facebook),
}

社交计算器看起来像这样

const socialCalculator = (service) => {
    return config.socialUrl ? service.redirect_url_social : service.redirect_url_auth
}

在在线尝试虚拟片段时,我确定这将返回未定义。

另一方面,它不会返回可能返回undefined

const intialconfig = {
    socialUrl: false,
    FACEBOOK_REDIRECT_URL: function () {
         return this.socialUrl ? facebook.redirect_url_social : facebook.redirect_url_auth
    },
}

但是然后我必须为每一个看起来很干燥的服务创建一个函数。

谁能帮助我找到访问对象内部对象的最佳方法

1 个答案:

答案 0 :(得分:0)

要使第一个示例工作,必须先定义socialCalculator,然后还移交配置对象:

    const socialCalculator = (service, config) => {
        return config.socialUrl ? service.redirect_url_social : service.redirect_url_auth
    }

    const intialconfig = {
        socialUrl: false,
        FACEBOOK_REDIRECT_URL: socialCalculator(facebook, this),
    }

但是正如已经提出的,在这里上课可能是一种更清洁的方法。