변수는 프로그래밍 언어에서 데이터를 관리하기 위한 핵심 기념이다.
변수: 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 --> 값의 위치를 가리키는 상징적인 이름 개발자는 저장된 메모리 공간에 직접 접근하지 않고 변수를 통하여 안전하게 값에 접근할 수 있다. (값 재사용 가능)
할당: 변수에 값을 저장하는 것
참조: 변수에 저장된 값을 읽어 들이는 것
변수 이름은 이해하기 좋은 이름으로 정하는 것이 중요하다!!
var result = 10 + 20; // 변수 선언 및 할당
console.log(result); // 변수 참조
식별자: 어떤 값을 구별해서 식별할 수 있는 고유한 이름
식별자는 어떤 값이 저장되어 있는 메모리 주소를 기억한다.
변수 뿐만 아니라, 함수, 클래스 등의 이름도 모두 식별자이다!!
변수 선언: 값을 저장하기 위한 메모리 공간을 확보, 변수 이름과 확보된 메모리 공간의 주소를 연결해서 값을 저장 --> 변수를 생성
변수 선언 키워드: var, let, const
변수 선언 단계
선언: 변수 이름 등록
초기화: 값을 저장하기 위한 메모리 공간 확보, undefined 할당하여 초기화
var score; // 변수 선언(암묵적으로 undefined 값이 초기화)
변수 선언은 소스코드가 한 줄씩 순차적으로 실행되는 시점, 즉 런타임이 아니라 그 이전 단계에서 먼저 실행된다. (어느 위치에 있든 상관없이 다른 코드보다 먼저 실행) --> 변수 호이스팅
변수 선언: 런타임 이전 단계에서 실행
값의 할당: 런타임에 실행
값의 할당은 초기화된 값 undefined가 저장되어 있던 메모리 공간을 지우고 그 메모리 공간에 새로운 값을 할당하는 것이 아닌, 새로운 메모리 공간을 확보하고 그곳에 할당값을 저장한다.
var score; // 변수 선언
score = 80; // 값의 할당
var score = 80; // 변수 선언과 값의 할당 (하나의 문으로 단축 표현)
var score = 80; // 변수 선언과 값의 할당
score = 90; // 값의 재할당
식별자: 어떤 값을 구별해서 식별해낼 수 있는 고유한 이름
식별자 이름은 식별자의 존재 목적을 쉽게 이해할 수 있도록 의미를 명확히 표현!
규칙1. 식별자는 특수문자를 제외한 문자, 숫자, 언더스코어, 달러 기호를 포함할 수 있다.
규칙2. 식별자는 특수문자를 제외한 문자, 언더스코어, 달러 기호로 시작해야 한다. 숫자로 시작하는 것은 허용하지 않는다.
네이밍 컨벤션 4가지
1) 카멜 케이스(camelCase): 변수, 함수 이름으로 사용
2) 스네이크 케이스(snake_case)
3) 파스칼 케이스(PascalCase): 생성자 함수, 클래스 이름으로 사용
4) 헝가리언 케이스(typeHungarianCase): DOM 노드에 사용