데이터를 변수에서 다른 변수로 전달할 때 "값에 의한 전달"과 "참조에 의한 전달 방식"이 있다.
이 전달 방식은 데이터 타입에 따라 다른다
원시타입의 데이터값이 들어있는 변수를 다른 변수로 대입하면 값에 의한 전달이 발생하는데
이때 변수에 들어있는 데이터값을 다른 변수에 전달 된다.
이때 한 변수의 데이터값을 재할당하면, 두 변수는 별도의 메모리 주소를 가지므로 변경된 값을 공유 하지 않는다
let bar = 1;
let foo = bar;
bar = 500
console.log(foo); // 결과: 100
자바스크립트에서 원시타입을 제외한 모든 데이터는 참조타입인데, 참조타입은 원시타입과 다르게
대입과정에서 데이터값을 전달하는게 아닌, 데이터가 들어있는 메모리주소가 전달되고, 이것을 참조에 의한 전달이라고 한다.
이때 한 변수의 데이터를 변경하면 , 두 변수는 같은 메모리 주소를 가르키므로 똑같이 데이터 변경이 일어난다
let foo = {num:1}
let bar = a;
foo.num = 10;
console.log(bar.num); // 결과: 10