function test(value){ // value 매개변수
value = 10; // 매개변수 재할당
return value;
}
test(20); // 인수 전달
1. 인수와 파라미터가 달라 의도와 다른 동작이 발생한다.
function sum(num1, num2){
num2 = 30;
return num1 + num2;
}
sum(10, 20); // 40
2. 파라미터 변경을 인지하지 못한다.
function test(newArray){
console.log(preArray == newArray); // true
newArray[1] = 30;
console.log(preArray == newArray); // true
}
const preArray = [10, 20];
test(preArray); // 인수 전달
파라미터 값을 변경해도 인수와 파라미터는 동일한 배열로 인식된다.
배열에서 인덱스로 값을 변경하면 배열의 주소값은 바뀌지 않는다.
따라서 인수와 파리미터의 값은 다르지만, 주소값이 같아 동일한 배열로 인식된다.