编程语言
首页 > 编程语言> > javascript-当我们使用数组名称而不是传播运算符时有什么区别?

javascript-当我们使用数组名称而不是传播运算符时有什么区别?

作者:互联网

如果使用,有什么区别:

var numbers = [1, 2, 3]
var mainArray = (numbers.length > 1) ? numbers : '';

代替这个:

var numbers = [1, 2, 3]
var mainArray = (numbers.length > 1) ? [...numbers] : '';

解决方法:

由于数据结构的分配指向内存中的同一空间,因此,如果您有两个引用同一数组的变量,则更改一个变量将更改另一个变量.也就是说:

如果x = [1,2,3]
y = x
那么我们说x.push(5)y也将具有那个5,因为它们指向同一实例.如果使用[… x],则将创建x的副本.它消耗O(n)内存,这是一个新引用.因此,如果x改变,y将不受影响.

涂抹酱干净整洁,但确实有开销.如果用于非常大的数据集,它们将影响性能.

标签:javascript,ecmascript-6,ecmascript-5
来源: https://codeday.me/bug/20191011/1894789.html