只需使用Immutable.js将对象分配给变量,即可克隆新对象
Clone a new object simply by assigning object to a variable using Immutable.js
我正在查看Immutable.js的文档,特别是以下内容:
var map1 = Immutable.Map({a:1, b:2, c:3});
var clone = map1;
但我很困惑,简单地将map1分配给克隆是如何创建克隆而不是引用的?
更新:文档指出:"如果一个对象是不可变的,只需对其进行另一次引用,而不是复制整个对象,就可以"复制"它。因为引用比对象本身小得多,这会节省内存,并可能提高依赖副本的程序(如撤消堆栈)的执行速度。"
不过,我只是在jsbin中测试了这一点,克隆确实===map1。我认为他们在文档中使用"克隆"一词有点误导。
由于Immutable.Map
是不可变的,因此克隆的概念已经过时。他们的观点是,你不必为克隆与否而烦恼,这无关紧要。
这些文档确实令人困惑,而且它确实是一个参考而非克隆。无论如何,克隆的效果都是一样的。
相关文章:
- 查找关键字并创建新对象
- 创建新对象时,为什么要更新旧对象
- 为什么要使用立即调用的函数来创建新对象
- 剑道网格-插入具有外部列的新对象失败
- 将原型调用为新对象中的另一个原型
- 将新对象添加到本地存储
- $$hashKey在Angular中push()新对象时未生成新值
- 从分析类传递现有对象,否则创建一个新对象
- 为什么这个功能打印“;未定义的未定义的“;作为联系人名称,添加“新对象”
- Will my'新对象'在套接字断开连接时被垃圾收集
- 从数组javascript创建新对象
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- 在for循环-Javascript中创建新对象
- Javascript:使用一个预先存在的对象值作为一个新对象的键
- 确定是创建新对象还是更新现有对象
- 返回它在Javascript中构建的新对象
- 如何使用Typescript创建一个包含对象的字段的新对象
- Sinon:存根和整个对象,并将其替换为新对象
- JavaScript:创建新对象类型的方法
- 将新对象“附加”到 ng 重复项