Ich werfe eine Option ein, da ich nicht gesehen habe, dass genau dieses Szenario behandelt wurde. Wenn Sie nicht wollen c
aktualisiert, wenn a
ou b
aktualisieren, dann funktioniert ein ES6-IIFE gut.
var foo = ((a,b) => ({
a,
b,
c: a + b
}))(a,b);
Für meine Bedürfnisse habe ich ein Objekt, das sich auf ein Array bezieht, das am Ende in einer Schleife verwendet wird, so dass ich nur einige gemeinsame Einrichtung einmal berechnen möchte, so ist dies, was ich habe:
let processingState = ((indexOfSelectedTier) => ({
selectedTier,
indexOfSelectedTier,
hasUpperTierSelection: tiers.slice(0,indexOfSelectedTier)
.some(t => pendingSelectedFiltersState[t.name]),
}))(tiers.indexOf(selectedTier));
Da ich eine Eigenschaft festlegen muss für indexOfSelectedTier
und ich muss diesen Wert verwenden, wenn ich die hasUpperTierSelection
Eigenschaft, berechne ich diesen Wert zuerst und übergebe ihn als Parameter an das IIFE