Thank you for the article. Brings some clarity regarding code quality.
Can we consider functions that return new objects with updated properties as pure? e.g
user = { username: "jack", }; function updateUsername(user, new_username) { return { ...user, username: new_username, } }; user = updateUsername(user, "tester"); // user { username: "tester" }
What do you think?
From what I understood, this function would be impure. Because, here, user object is an input for the method. And inside the updateUsername(), we are mutating its value. According to this blog, the function will become impure if we mutate the input.
Agreed. It would be pure if the function created a clone of the object and then mutated that
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Thank you for the article. Brings some clarity regarding code quality.
Can we consider functions that return new objects with updated properties as pure?
e.g
What do you think?
From what I understood, this function would be impure. Because, here, user object is an input for the method. And inside the updateUsername(), we are mutating its value. According to this blog, the function will become impure if we mutate the input.
Agreed. It would be pure if the function created a clone of the object and then mutated that