()은 Es6에서 추가됨
1바이트는 8개의 비트로 구성됨. 자바스크립트는 64비트의 메모리공간을 할당.
효율적인 데이터 관리를 위해 모든 데이터는 바이트 단위의 메모리 주소값으로 구분하고 연결함
식별자 - 변수명. 데이터를 식별하는데 사용하는 이름
변수 - 변할 수 있는 데이터
var a = abc;
위의 변수 선언은
변할 수 있는 데이터를 만들고 이의 식별자를 a로 한다는 것이다. 그리고 그 변수에 문자열 'abc'를 할당했다.
이렇게 될 경우 데이터할당의 과정은 아래와 같다.
위의 var a = abc처럼 문자열 'abc'를 처음 할당해주고 'abcd'로 다시 할당하려고 하면 해당 데이터영역의 주소에서 데이터를 수정하는 것이 아닌 다른 데이터 영역을 만들어 그곳에 'abcd'를 넣어준다.
왜 이렇게 하는 지에 대한 이유는 앞서 언급한 메모리 공간을 생각해야한다.
만약 중간에 있는 데이터의 크기가 늘어났을 경우, 뒤에 저장된 데이터를 전부 뒤로 옮기고 이동시킨 주소를 다시 연결해야한다. 이는 컴퓨터가 처리해야 할 연산을 늘리게 되기에 바뀐 데이터는 무조건 새로 만들어서 별도의 공간에 저장한다. 그리고 식별자는 새로운 만들어진 데이터의 주소를 바라보게 한다.
내용 참고
코어 자바스크립트/위키북스