簡體   English   中英

在聲明es2018期間內聯傳播操作員

[英]inlining spread operator during declaration es2018

我想做這樣的事情:

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

顯然它不起作用,當然,我可以設置另一個const,然后使用它,但我很懶)所以我很好奇,如果javascript允許你這樣做?

除非是方法,否則您無法在對象中自引用。

你可以這樣做:

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

編輯

如果你想打翻translations.uk不是ru的副本並保持它自己的數據這種方式將無法正常工作。 這只是設置了translations.uk作為參考, translations.ru

你必須在傳播之前聲明這個ru值,即:

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

const translations = {
    en: {
        statistics_title: 'Statistics'
    },
    ru,
    uk: {
        ...ru
    }
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM