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

从对象分配到不同的变量名

  •  0
  • Arcath  · 技术社区  · 7 年前

    假设我有目标:

    const obj = {
      foo: 'bar'
    }
    

    我指派 foo 对于这样的变量:

    let {foo} = obj
    

    是否可以更改变量名?我试过用 as 就像进口商品一样,但那不管用。

    let {foo as bar} = obj
    

    我肯定我错过了一些明显的东西,但我的谷歌fu今天让我失望了。

    1 回复  |  直到 7 年前
        1
  •  4
  •   T.J. Crowder    7 年前

    如果只是一个属性,最简单的方法就是不要使用析构函数:

    let bar = obj.foo;
    

    但是,如果要使用析构函数(可能有几个属性),请给出属性的名称、冒号和变量/常量的名称:

    let {foo: bar} = obj;
    

    例子:

    const obj = {
      foo: 'bar'
    };
    let {foo: bar} = obj;
    console.log(bar);

    记住对象破坏语法 正镜 对象初始值设定项语法。在对象初始值设定项中, foo: bar 从中分配值 bar 对财产 foo :

    const obj = {foo: bar}; // Property `foo` is assigned the value from variable `bar`
    

    所以在物体破坏中, 酒吧 指定属性的值 变量 酒吧 :

    let {foo: bar} = obj;   // Variable `bar` is assigned the value from property `foo`
    
    推荐文章