我可以使用lodash assign方法确定属性顺序

时间:2016-08-23 11:06:00

标签: javascript lodash

使用lodash assign方法,我可以吗

_.assign(self, {
            inputContext: createAddonInputContext(),
            currentEmployee: _.first(self.inputContext.employeeList),
        });

currentEmployee属性值计算取决于已分配的inputContext。我的问题是,这会一直有效,还是会在某些环境中中断,即首先分配currentEmployee? 换句话说,在评估值时,属性在源对象文字中出现的顺序是否保证相同的顺序?我知道当我们在javascript对象的迭代中做...时,顺序并不确定。因此我的问题。

1 个答案:

答案 0 :(得分:2)

  

currentEmploye属性值计算取决于已分配的inputContext

然后你需要单独分配它们:

self.inputContext = createAddonInputContext();
self.currentEmployee = _.first(self.inputContext.employeeList);
  

这会一直有效,还是会在某些环境中中断,即首先分配currentEmployee

从不有效,它将在所有环境中中断。在执行对assign的调用并将任何内容分配给self之前,将评估对象文字及其两个属性值。

  

在评估值时,属性在源对象文字中出现的顺序是否保证相同的顺序?

是的,实际上对象属性值总是按源顺序进行评估,但这并不重要,在创建整个对象之前,值are inaccessible as properties