let myString = 'goodNews';
myString = 'badNews'; // 재할당 가능
myString[0] = 'B'; // 원시 타입이기 때문에 BadNews로 변경 불가능. 오류는 Throw되지 않는다.
console.log(myString); // badNews
let myString2 = myString; // myString 값이 myString2에 그대로 복사되어 'badNews'가 할당된다.
console.log(myString2); // badNews
myString2 = 20;
console.log(myString); // badNews
console.log(myString2); // 20
각 변수 간에 원시 타입 데이터를 복사할 경우 데이터의 값이 복사된다.
주소(중요)
”를 저장합니다.배열
,객체
,함수
3가지 참조타입.참조
”를 조작한다.메모리 블럭의 주소
를 가지고 있고, 자바스크립트의 엔진이 변수가 가지고 있는 메모리 주소를 이용해서 변수의 값에 접근.let a = {name: "joo", num:1};
b = a;
a.name = "hyun";
console.log(a) //{name: "hyun", num:1}
console.log(b) //{name: "hyun", num:1}
let arr = [1,2,3,4,5];
let obj = {name:"hy", age:26};
원시타입은 데이터의 값이 복사가 되어 복사된 원본 값이 그대로지만
참조타입은 데이터를 주소라는 블럭에 저장하여 복사를 할 경우 원시타입과 똑같이 복사가 되지만
주소를 찾을때 주소까지 복사가 되어 원본값도 데이터가 변경된다.