代码之家  ›  专栏  ›  技术社区  ›  Carlos Herrera Plata

ES6分解具有相同属性名的两个对象

  •  18
  • Carlos Herrera Plata  · 技术社区  · 7 年前

    let section = { name: "foo", tables: [] }
    let field   = { name: "bar", properties: {} }
    

    一个函数需要这些对象,但在函数中我只使用每个对象的名称,所以我想知道是否可以在函数声明中分解这两个对象,如:

    function something( {name}, {name} ) {
      //code
    } 
    

    第一个应该是 section.name field.name .

    在这种情况下,有没有办法进行分解?或者我应该只检查函数中的名称吗?

    1 回复  |  直到 3 年前
        1
  •  34
  •   Andy    4 年前

    {before<colon>after}

    var section = { name: 'foo', tables: [] };
    var field = { name: "bar", properties: {} };
    
    function something({ name: sectionName }, { name: fieldName }) {
      console.log(sectionName, fieldName);
    }
    
    something(section, field);