Within this section, we're going to learn about the concept of immutability. This knowledge will help us for the upcoming refactoring exercises of our application.
Immutable data has initially been a core concept of functional programming. This section will not cover immutable data in much depth, but it will explain the core concept so that we can talk about how to apply this idea to Angular components.
Immutable data structures force you to create a full copy of the data before you modify it. You'll never operate on the data directly, but on a copy of this same data. This approach has many benefits over mutable data operations, the most obvious probably being clean application state management. When you always operate on new copies of data, there's no chance that you're messing up data that you didn't want to modify.
Let's take this...