4

我想做这样的事情:

const translations = {
    en: {
        statistics_title: 'Statistics'
    },
    ru: {
        statistics_title: 'Статистика'
    },
    uk: {
        ...ru
    }
}

显然它不起作用,当然,我可以设置另一个 const,然后使用它,但我很懒)所以我很好奇 javascript 是否允许你这样做?

4

2 回答 2

1

除非它是一种方法,否则您不能在对象中进行自我引用。

你可以这样做:

const translations = {
    en: {
        statistics_title: 'Statistics'
    },
    ru: {
        statistics_title: 'Статистика'
    },
    get uk () {
        return this.ru
    }
}

编辑

如果您不想translations.uk成为自己数据的副本ru并保留自己的数据,那么这种方式是行不通的。这只是设置translations.uk为参考translations.ru

于 2017-11-15T09:43:38.143 回答
1

您必须ru在传播之前声明此值,即:

const ru = {
    statistics_title: 'Статистика'
};

const translations = {
    en: {
        statistics_title: 'Statistics'
    },
    ru,
    uk: {
        ...ru
    }
};
于 2017-11-15T09:44:56.343 回答