0️⃣ 1️⃣ 1️⃣ 0️⃣ 1️⃣ ・ ・ ・
0 또는 1로만 표현할 수 있는 메모리 조각을 bit라 한다.
1 byte = 8 bit
1 byte는 총 256(28)개의 값을 표현할 수 있다.
모든 데이터는 메모리 주솟값을 통해 서로 구분하고 연결한다.
var a
var a = 'abc'

var obj = { a : 1, b : 2 }

참조형 데이터는 객체의 프로퍼티들을 저장하기 위한 별도의 변수 영역을 마련하고(위 그림에서 보라색 영역), 그 주솟값을 데이터 저장공간에 저장
var obj = { a : 1, b : 2 }
var obj1 = obj
obj1.a = 3

변수 obj1을 생성하고 obj를 복사하면, obj1과 obj는 같은 주솟값을 갖는다. ( obj1 = obj = @210 )
obj1의 a 프로퍼티의 값을 3으로 변경하면, 빈 데이터 공간에 3을 저장하고 그 주소를 @350에 저장한다.
a 프로퍼티를 갖는 @350 메모리의 데이터만 변경 되었을 뿐, obj1과 obj는 여전히 @210의 주소를 갖는다.
때문에 등호로 복사할 경우 값 공유가 일어난다.
등호로 변수를 복사할 경우 값 공유가 일어난 다는 것을 단순 암기식을 외우고 있었는데, 메모리에 데이터가 저장되는 원리를 알고 나니, 값 공유가 왜 일어나는지? 값 공유가 발생하는 이유에 대해 이해할 수 있었다.