使用lodash assign方法,我可以吗
_.assign(self, {
inputContext: createAddonInputContext(),
currentEmployee: _.first(self.inputContext.employeeList),
});
currentEmployee
属性值计算取决于已分配的inputContext
。我的问题是,这会一直有效,还是会在某些环境中中断,即首先分配currentEmployee
?
换句话说,在评估值时,属性在源对象文字中出现的顺序是否保证相同的顺序?我知道当我们在javascript对象的迭代中做...时,顺序并不确定。因此我的问题。
答案 0 :(得分:2)
currentEmploye
属性值计算取决于已分配的inputContext
。
然后你需要单独分配它们:
self.inputContext = createAddonInputContext();
self.currentEmployee = _.first(self.inputContext.employeeList);
这会一直有效,还是会在某些环境中中断,即首先分配
currentEmployee
?
此从不有效,它将在所有环境中中断。在执行对assign
的调用并将任何内容分配给self
之前,将评估对象文字及其两个属性值。
在评估值时,属性在源对象文字中出现的顺序是否保证相同的顺序?
是的,实际上对象属性值总是按源顺序进行评估,但这并不重要,在创建整个对象之前,值are inaccessible as properties。