只需使用Immutable.js

时间:2015-12-13 19:53:17

标签: javascript immutability

我正在查看Immutable.js的文档,特别是以下内容:

var map1 = Immutable.Map({a:1, b:2, c:3});
var clone = map1;

但是我很困惑如何简单地将map1分配给clone来创建克隆而不是引用?

更新 文档陈述"如果一个对象是不可变的,它可以被复制"只需对其进行另一次引用,而不是复制整个对象。由于引用比对象本身小得多,因此可以节省内存,并且可以提高依赖于副本的程序(例如撤销堆栈)的执行速度。"

我刚刚在jsbin中对此进行了测试,克隆确实=== map1。我认为他们使用了克隆'这个词。在文档中有点误导。

1 个答案:

答案 0 :(得分:3)

由于Immutable.Map是不可变的,因此克隆的概念已经过时。他们的观点是,你不必为克隆而烦恼,这并不重要。

文档确实令人困惑,实际上它不是克隆的参考。无论如何克隆的效果都是一样的。