只需使用Immutable.js将对象分配给变量,即可克隆新对象

Clone a new object simply by assigning object to a variable using Immutable.js

本文关键字:对象 新对象 Immutable js 分配 变量      更新时间:2023-09-26

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

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

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

更新:文档指出:"如果一个对象是不可变的,只需对其进行另一次引用,而不是复制整个对象,就可以"复制"它。因为引用比对象本身小得多,这会节省内存,并可能提高依赖副本的程序(如撤消堆栈)的执行速度。"

不过,我只是在jsbin中测试了这一点,克隆确实===map1。我认为他们在文档中使用"克隆"一词有点误导。

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

这些文档确实令人困惑,而且它确实是一个参考而非克隆。无论如何,克隆的效果都是一样的。