본문 바로가기

과거공부모음

call by value와 call by reference

call by value와 call by reference는 함수에 인자를 전달하는 방식을 말한다

 

call by value : 변수의 값을 함수에 전달하는 방식이다. 이 방식에서 원본 변수의 값을 복사하여 함수의 매개변수로 전달한다. 함수 내에서 변수를 변경해도 원래 변수의 값에 영향을 주지 않음

function addOne(num) {
  num += 1;
  console.log('Inside function:', num);
}

let myNumber = 5;
addOne(myNumber);
console.log('Outside function:', myNumber);

 

call by reference : 변수의 참조(포인터, 메모리 주소 값)를 함수에 전달하는 방식이다 이 방식에서는 원본 값의 메모리 주소 값을 함수의 매개변수로 전달한다. 함수 내에서 값을 변경하면 원래 값에도 영향이 준다

function addProperty(obj) {
  obj.newProperty = 'Hello, World!';
  console.log('Inside function:', obj);
}

let myObject = { key: 'value' };
addProperty(myObject);
console.log('Outside function:', myObject);

 

참조를 통해 전달된 메모리 주소 값 자체를 변경하려고 하면 원본 값에 영향을 주지 않는다

function changeReference(obj) {
  obj = { newKey: 'newValue' };
  console.log('Inside function:', obj);
}

let myObject = { key: 'value' };
changeReference(myObject);
console.log('Outside function:', myObject);

'과거공부모음' 카테고리의 다른 글

RESTful API  (0) 2023.04.17
HTTP와 HTTPS  (0) 2023.04.17
클로저  (0) 2023.04.17
async/await  (0) 2023.04.17
프로미스(Promise)  (0) 2023.04.17