네, 가능합니다. 함수 내부에서 매개변수 값을 증가시킨 후 다른 변수에 할당하고, 그 증가된 값을 반환하면 됩니다.
예제
다음은 그 예제 코드입니다 −
function changeTheValueOfFunctionParameter(value) {
var incrementValue = value + 1;
return incrementValue;
}
var value = 190;
console.log('The value is:', value);
value = changeTheValueOfFunctionParameter(value);
console.log('After changing the value:', value);위 프로그램을 실행하려면 아래 명령어를 사용하세요 −
node fileName.js
여기서는 파일 이름이 demo317.js라고 가정합니다.
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −
PS C:\Users\Amit\javascript-code> node demo317.js The value is: 190 After changing the value: 191
동작 원리
JavaScript에서는 함수의 매개변수 자체를 직접 수정할 수도 있지만, 위 예제처럼 새로운 변수에 값을 할당한 뒤 반환하는 방식이 더 안전하고 가독성이 좋습니다. 호출부에서 반환된 값을 기존 변수에 다시 할당함으로써(value = changeTheValueOfFunctionParameter(value)) 실질적으로 매개변수로 전달했던 값이 변경된 것과 같은 효과를 얻을 수 있습니다.