我对TypeScript / JS很新,我读到JS只要它们不是对象或数组就按值传递参数。
关于传递给管道的对象的引用,我有几个问题。假设我在我的Component Class中调用了pipe.transform(obj, size)
,并且管道实现了类似
obj.filter(item => item.getIndex() > size);
return obj;
这会将数组减少到一个较小的数组,现在让我说我用更大的参数再次调用它,管道将使用已经过滤的数组,因为JS通过引用调用类型数组的参数。使用初始数组始终调用.transform()
函数需要做什么?
使用"array | pipe: size"
的HTML文件中的管道是通过引用还是通过值调用的数组?
提前致谢。
答案 0 :(得分:0)
JS按值传递参数,只要它们不是对象或数组。
没有。 JS按值传递参数。无论什么类型。它不传递对象或数组,而是传递对象或数组。这些引用按值传递。
这会将阵列切割成更小的数组
没有。 filter()
不会修改数组。它创建了数组的过滤副本。所以你的烟斗什么都不做。它返回未修改的数组。