Hacker News new | ask | show | jobs
by Drakim 912 days ago
if "current" is a deep object here and contains other objects/arrays, you risk that wherever you are sending this shallow copy will mutate those deeper values and potentially mess things up for the code where "current" came from.

Maybe it's not a situation that comes up often, but it would be fairly hard to debug and guarding yourself against mysterious problems in advance is always neat.

1 comments

In practice, I think it's easier to use linting and type-systems to prevent other code from mutating you stuff than defensive copying.
You could make the same argument backwards though - many people may find it easier to do deep copies rather than throwing extra software they might not necessarily be familiar with.