事情的起因是这样的,我在看 sicp 这本书,书中用函数(过程)实现了一种叫做 cons(序对)的结构,甚至用函数去实现了数字(一种叫做 church 计数的方式)。 于是我就在想能不能用函数去实现数组、对象。接下来我用 js 实现了数组和对象,顺便彻底理解了不可变数据结构是怎么一回事,大概相当于每次用都劫持掉“一部分函数”返回一个新的函数。 我制作了一个视频讲述了这个过程。