...Immutable data is unchangeable once created, which makes application development so much simpler. There’s no defensive copying, and you get advanced memoization and change detection techniques with simple logic. Persistent data gives you a mutative API, one that doesn’t update data in-place but always produces new and updated data.
The data structures that Immutable.js provides include List, Stack, Map, OrderedMap, Set and more. These structures are highly efficient on modern JavaScript VMs, and minimize the need to cache or copy data.