代码之家  ›  专栏  ›  技术社区  ›  MBehtemam Erick

在Javascript中用Enum分解对象

  •  0
  • MBehtemam Erick  · 技术社区  · 6 年前

    我试图找到一种方法,用另一个对象(Eum)的键来分解ES6中对象的键,并创建变量。例如,我的枚举是

    const KEYS = {
      name:'name',
      family:'age'
    }
    

    我的目标是:

    const myObject = {
      name:'John',
      family:'Doe'
    }
    

    我想要的是破坏结构 myObject 带钥匙的 KEYS 我知道下面的代码是错误的,但是类似这样的代码:

     const {KEYS.name} = myObject
    

    name KYES.name 但正如我所说,它引发了一个语法错误。有没有人想到用枚举来解构对象。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Nina Scholz    6 年前

    你需要一个 computed property names 和一个 object property assignment pattern [YDKJS: ES6 & Beyond] 为了它。

    name 是的保留财产 window 改变它可能会导致意想不到的结果。

    const
        KEYS = { name: 'name', family: 'age' },
        myObject = { name:'John', family:'Doe' };
    
    ({ [KEYS.name]: window[KEYS.name] } = myObject);
     
    console.log(name);