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 |