Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it
The target object to return or set the default value
The key for the field to set on the target
Optional
[Optional] The value to set if not already present, when not provided a empty object will be added
Returns the current value from the target object if not null or undefined otherwise sets the new value and returns it