We have a function that modifies a JS object, by adding some custom properties to it. The function doesn't return antyhing
addTransaction: function (obj) {
obj.transactionId = this.getTransactionId;
obj.id = this.recordId;
},
Somebody said they preferred that addTransaction return the obj.
Here's what I thought
- If I don't return anything, it's kind of clear that the object is going to be modified
If I don't return anything (and document that the object is going to be modified), it's kind of clear that the object is going to be modified, as if the name were addTransactionToObj
- If I do want to add a return value, I shouldn't modify the incoming object, I should clone the given object, add my properties to the clone and return the clone.
If I do want to add a return value, I shouldn't modify the incoming object, I should clone the given object, add my properties to the clone and return the clone.
- Having a return value that just returns one of the (modified) parameter just sounds wrong
Having a return value that just returns one of the (modified) parameter just sounds wrong
Does anybody have a preference in this matter?