无法更新集合 属性

unable to update the Set property

var npm = require("npm")
var immutable = require("immutable");
var test = immutable.fromJS

const a = test({name:true,b:[]})
console.log(a);
a.set('name',false);

console.log("------------");
console.log(a.get('name')) // gives still value true.

最后一个控制台的预期值是多少?我以为这是真的。有人能帮我看看我错在哪里吗

a 未重新分配。 a.set returns 一个新对象。

const a = Immutable.fromJS({name:true,b:[]})
console.log(a);
const newA = a.set('name',false);

console.log("------------");
console.log(a.get('name'));
console.log(newA.get('name'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.js"></script>

Immutable.js的要点是你从中得到的对象是不可变的(不能改变)。看起来像增变器操作的操作 return 新对象。所以:

a = a.set('name', false);

来自the documentation

set()

Returns a new Map also containing the new key, value pair. If an equivalent key already exists in this Map, it will be replaced.

(我的重点)