【问题标题】:Which is the best way to assign values to a const depending on a condition? [duplicate]根据条件将值分配给 const 的最佳方法是什么? [复制]
【发布时间】:2020-02-26 21:44:21
【问题描述】:

我想根据网站语言给一个 const 赋值,有 15 种情况,所以我最终得到这样的函数:

      function messageLang() {
    if (language === 'en') {
      return 'Message in English'
    } else if (language === 'fr') {
      return 'Message in French'
    } else if (language === 'es') {
      return 'Message in Spanish'
    } (...etc)
  }

const msgLang = messageLang()

我必须为标题、副标题和消息执行此操作,因此我创建了 3 个类似的函数。

有没有更好的方法来做到这一点?

谢谢,

【问题讨论】:

    标签: javascript constants


    【解决方案1】:

    您可以为此使用对象字面量:

    const msgLang = {
        en: 'Message in English',
        fr: 'Message in French',
        es: 'Message in Spanish',
        /* etc */
    }[language];
    

    其中language 是实际的语言代码(例如“es”)。

    当你有更多这样的短语要翻译时,然后创建一个包含所有这些短语的对象:

    let phrases = {
        welcome: {
            en: "Welcome",
            fr: "Bienvenu",
            es: "Bienvenido",
        },
        bye: {
            en: "Bye",
            fr: "Au revoir",
            es: "Adiós"
        }
    }
    
    let language = "es";
    console.log(phrases.welcome[language]);
    console.log(phrases.bye[language]);

    【讨论】:

    • 非常感谢 trincot,非常好的解释。
    猜你喜欢
    • 1970-01-01
    • 2015-02-13
    • 2021-10-21
    • 2021-05-11
    • 2014-01-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-05
    • 2018-12-23
    相关资源
    最近更新 更多