[javascript] Function의 Parameter에 Object를 넣는 경우

ChanSol Jeong·2023년 7월 2일
0

javascript

목록 보기
2/9
post-thumbnail

javascript에서 functionparameter를 넘겨주는 경우는 크게 2가지로 분류할 수 있다.

1. 원시값을 넘겨주는 경우

function changeParameter (prameter){
    console.log(parameter);// 1
    parameter = 10;
    console.log(parameter);// 1
}
let p = 1;
changeParameter(p);
console.log(p); // 1

2. Object를 넘겨 주는 경우

2-1. propery만 변경하는 경우

function changeParameter (prameter){
    console.log(parameter);// {a:1}
    parameter.b = 10;
    console.log(parameter);// {a:1, b:10}
}
let obj = {a:1};
changeParameter(obj);
console.log(obj); // {a:1, b:10}

2-2. 새로운 객체를 할당하는 경우

function changeParameter (prameter){
    console.log(parameter);// {a:1}
    parameter.b = {c:10,d:30};
    console.log(parameter);// {c:10,d:30}
}
let obj = {a:1};
changeParameter(obj);
console.log(obj); // {a:1}

javascriptObject가 일급객체기 때문에 parameter로 넘겨줄 수 있고,
함수 내부에서 변화를 주는 경우 함수를 호출한 이후에도 원본값에 변화를 줄 수 있으므로 조심해야한다.

profile
Compostion API 맛있다!

0개의 댓글