let a = 1;
function func(b){
b = 2;
}
func(a);
console.log(a)
다시 예를 들자면
a의값은 b가되니깐 b=a 라고하면 b=2 이지만 a=1 입니다.
함수 안에서 b의값을 2로 선언해도 a의 값에는 영향이 가지 않습니다.
다른 예제를 보자면
let a = {'id':1};
function func(b){
b = {'id':2};
}
func(a);
console.log(a.id); // 1
변수에 담겨있는 값이 객체이면
b=a 라고 선언했지만 b = {'id':2}; 이라고 새로운 객체를 만들었기 때문에
a.id는 1입니다.
let a = {'id':1};
function func(b){
b.id = 2;
}
func(a);
console.log(a);
a={id:1}
b=a;
b.id=2
a.id
b=a;같은 것을 참조합니다. 왜냐면 데이터가 객체이기 때문에
b.id값을 변경하면 값을 것을 참조하기떄문에 a값도 변경됩니다.
이글은 생활코딩으로 포스팅 하였습니다. egoing님 감사합니다.
'JAVASCRIPT' 카테고리의 다른 글
window 객체 (0) | 2021.03.25 |
---|---|
자바스크립트로 구구단 만들기 연습 프로젝트 (제로초) (0) | 2021.03.25 |
참조 (0) | 2020.11.25 |
원시 데이터 타입 (0) | 2020.11.19 |
object 확장의 위험 (0) | 2020.11.18 |