Premium
Mutation vs immutable copy for shared JavaScript state
A UI updates nested client-side state and also needs undo, predictable re-renders, and easy debugging. Would you mutate existing objects or create immutable copies?
- Mutate existing state
- Create immutable copies
What you’ll build / What this tests
This premium javascript tradeoff battle focuses on Mutation vs immutable copy for shared JavaScript state. Commit to a direction, justify it with the prompt constraints, and explain when the alternative wins.
Learning goals
- Is the value local data or shared state?
- Do you need previous versus next snapshots?
- How will the rest of the system notice updates?
- How easy is it to explain what changed?
Key decisions to discuss
- Pick a direction for this exact prompt, not the universal winner.
- State the trade-off that matters most for this scenario.
- Name when another option becomes the better answer.
- Keep the explanation grounded in concrete constraints.
Evaluation rubric
- Strong answers tie the recommendation to the prompt.
- Good tradeoff reasoning explains downsides, not just upsides.
- The answer should show when the recommendation stops being right.
- Follow-up pressure should not break the argument.
Constraints / Requirements
- Which direction would you defend for this prompt, and how would you explain when the other option is…
- Fits best when the data is short-lived, local, and not being compared, replayed, or shared across…
- Fits best when the app benefits from clear before-and-after state snapshots instead of in-place changes.
Options on the table
Mutate existing state: Fits best when the data is short-lived, local, and not being compared, replayed, or…
Create immutable copies: Fits best when the app benefits from clear before-and-after state snapshots instead of in-place…Common pitfalls
- Arguing from preference instead of prompt constraints.
- Pretending one option is always the winner.
- Ignoring the main downside of the chosen direction.
- Failing to explain when the alternative becomes stronger.
Related questions
Upgrade to FrontendAtlas Premium to access this tradeoff battle. Already upgraded? Sign in to continue.