메모리의 주소는 16진수로 표현되며
0x000000F2 : 0x는 16진수로 표현되어 있다는 것을 의미하며 4GB 메모리를 의미한다 = > 16의 6제곱
컴퓨터는 모든 데이터(숫자, 텍스트, 이미지, 동영상등)를 2진수로 처리한다.
텍스트 - 유니코드, ASCII(아스키코드)
이미지도 픽셀로 이루어져있고 동영상은 이미지들의 모음이다
이미지는 픽셀들의 모음이며 픽셀들은 색으로 표현되는데 이에 관련하여 css 에서 볼 수 있는 #FF00F0 색상관련 표기도
빨강, 초록, 파랑이 얼만큼 포함되어 있는지 16진수로 표현한것이다.
값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 = > 이것이 무슨 의미일까?
예를 들어, const n=30 이라고 하자, = 이라는 의미는 같다의 의미라기 보단 오른쪽에서 왼쪽으로 값을 할당한다는 의미에 가깝다.
30은 메모리 어딘가에 있고 그 주소를 임의로 0x669F913이라 하자, n은 30과 같은 메모리에 있는것이 아니라 다른공간에 있고 단지 30의 주소(0x669F913)를 가지고 있다. 결과적으론 n이 30을 가리키고 있는것이다.
즉
1. 식별자란 사람을 위해 사람이 이해할 수 있는 언어를 사용하여, 값이 저장된 메모리 공간에 붙인 상징적인 이름이다.
2. 식별자는 값이 아니라 메모리의 주소를 기억하고 있고 즉 메모리 주소에 붙인 이름이다.
(변수이름을 식별자 라고도 한다)
변수, 함수, 클래스 등의 이름은 모두 식별자이다
변수를 사용하려면 선언이 필요하며 var, let, const 키워드를 사용한다.
키워드는 일종의 명령어로 자바스크립트 엔진은 키워드를 만나면 악속된 동작을 수행한다.
console.log(score) //undefined var score; // 변수 선언문
즉 호이스팅이란 변수 선언문이 코드의 선두로 끌어 올려진 것처럼 동작하는 자바스크립트 고유의 특징을 말한다
var 선언문, 함수선언문(function sum)에서 일어난다
위로 끌어올려지기 때문에 변수를 먼저 참조 하더라도 error가 뜨지 않는다.