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 (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. 
- Having a return value that just returns one of the (modified) parameter just sounds wrong
Does anybody have a preference in this matter?

transactionIdandidas params, so it's more code everywhere that calls it. Seems like overkill