Introduction
With expressions let you create a new object by copying an existing one but changing some parts. This helps keep data safe and unchanged.
When you want to change some details of an object without changing the original.
When working with data that should not be changed after creation, like user info or settings.
When you want to keep old versions of data while making updates.
When you want simple and clear code to copy and update objects.