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
除此之外你可以修改数组内容
我目前正在学习 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
除此之外你可以修改数组内容