Immutable.js - 为什么在Record上调用map()会改变原始对象?

时间:2016-10-19 08:57:12

标签: javascript immutable.js

让我们创建一个Immutable.Record并使用map修改它:

let R = Immutable.Record({a:1,b:2});
let r = new R();
let q = r.map(i => i * 2);

我希望r保持不变,qRecord { a:2, b:4 }。但实际结果是r发生了变异,qmap()的返回值为undefined

为什么不可变对象发生了变异?确定对象何时就地变异以及何时返回新实例的规则是什么?

0 个答案:

没有答案