Javascript 初学者 - 函数修改全局常量

Javascript beginner - function modifiing global const

我目前正在学习 js 并且偶然发现了这个对我来说很奇怪的行为。我可能在这里遗漏了一些基本的东西,但我找不到答案。

我有一个修改数组的函数,returns 它。如果我打印出来原始数组会被修改,即使它是一个常量。

const arr = [5, 9, 7, 1, 8, ];

function test(arr) {
  const strings = ['qwe', 'asd'];
  arr.splice(1, 0, ...strings);
  return arr
}

console.log(test(arr))
console.log(arr)
console.log(test(arr))
console.log(arr)
console.log(test(arr))
console.log(arr)

输出显示原始数组每次都变大。我原以为每次都是相同的输出。

const 意味着你不能像这样重新分配给它

const arr = [1, 2, 3];
arr = [5, 4]; // You cannot do this that's const

除此之外你可以修改数组内容