If the given object contains a property with the given name, returns its value, otherwise adds a new property with the result of calling the given factory function, and returns that.
If the given object contains a property with the given name, returns its value, otherwise adds a new property with the result of calling the given factory function, and returns that.