我不知道不可变JS列表大小会如何增长。
如官方文档https://facebook.github.io/immutable-js/docs/#/List/push上的示例所示,在不可变的js列表中推送内容会自动增大大小。
在我的代码中:
const list: List = List();
list.push(object);
console.log(list, list.size);
我的输出结果是:
(1) object
length: 1
___proto___: Array(0)
undefined
这与方面输出确实不同。 没有大小,如果我在代码Typescript中使用长度,请告诉我列表中不存在“长度”。 我使用带有Typescript和Immutable.JS的React
有人知道会发生什么吗?
答案 0 :(得分:0)
不可变性意味着操作不会更改原始对象,而是创建一个新对象。
对于您来说,push
方法将返回一个 new 列表,其中包含所有旧元素和您刚刚添加的新元素。
您的代码应如下所示。
const list: List = List();
const newList = list.push(object);
console.log(list, list.size);
console.log(newlist, newlist.size);
这将为list
变量打印大小为0,为newList
变量打印大小为1。