代码之家  ›  专栏  ›  技术社区  ›  Anatoly

我可以在由变量本身定义的属性名中对变量进行解构吗?

  •  0
  • Anatoly  · 技术社区  · 5 年前

    例如我在 localStorage 对象属性 Meteor.userId Meteor.loginToken . 我可以将它们分解为以下结构:

    const {
          'Meteor.userId': userId,
          'Meteor.loginToken': loginToken,
        } = localStorage;
    

    但我能确定 流星.用户ID 流星.loginToken 作为变量?例如:

    const METEOR_USER_ID = 'Meteor.userId';
    const METEOR_LOGIN_TOKEN = 'Meteor.loginToken';
    

    试图使用以下代码,但它不起作用:

    const {
          METEOR_USER_ID: userId,
          METEOR_LOGIN_TOKEN: loginToken,
        } = localStorage;
    
    1 回复  |  直到 5 年前
        1
  •  5
  •   Nina Scholz    5 年前

    你需要一个 computed property 获取变量的键。

    const {
        [METEOR_USER_ID]: userId,
        [METEOR_LOGIN_TOKEN]: loginToken,
    } = localStorage;