Data structures that strongly require to be thread-safe are best candidates to become immutable objects. Moreover, as programmers can write mutable code that behaves in an immutable fashion, how to best achieve immutability? Does this programming approach really affect performance?


Each time an element of the DOM changes, the browser will have to recalculate elements and styles and also it might have to re-flow the page. The following is the typical workflow:

Recalculate Style → Layout → Paint

  1. Recalculate Style: changing the DOM causes the browser to recalculate element...

Immutability means that variables cannot be modified once they have been set with data, which prevents unwanted changes from occurring.

Immutability and pure functions

The concept of immutability is strictly connected with pure functions. In pure functions:

  1. Return values are only determine...