谈谈你对immutable.js的理解?
immutable不可改变的,在计算机中,即指一旦创建,就不能再被更改的数据
对immutable对象的任何修改或添加删除操作都会返回一个新的immutable对象
immutable实现原理是Persistent Data Structure (持久化数据结构):用一种数据结构来保存数据 当数据被修改时,会返回一个对象,但是新的对象会尽可能的利用之前的数据结构而不会对内存造成浪费,也就是使用旧数据创建新数据时,要保证旧数据同时可用并且不变,同时为了避免deepCopy把所有节点都复制一遍带来的性能损耗,immutable使用 Structural Sharing(数据共享)
如果对象树中一个及诶大那发生变化,只修改这个节点和受它影响的父节点,其他节点则进行共享