얼레벌레
모던자바스크립트 Deep Dive - 4장 변수 본문
컴퓨터는 CPU를 이용해 연산하고, 메모리를 사용해 데이터를 기억한다.
- 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이며, 메모리 셀 하나의 크기는 1바이트(8비트) ⇨ 1바이트 단위로 데이터를 저장하고 읽어들임
- 각 셀은 고유의 메모리 주소를 가지며 이 메모리 주소는 메모리 공간의 위치를 나타냄
- 동일한 컴퓨터에서 동일한 코드를 실행하더라도 값이 저장될 메모리의 주소는 변경된다. 따라서 기억하고 싶은 값은 변수에 저장한다
변수: 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 - 값의 위치를 가리키는 상징적인 이름
변수명을 식별자(identifier)이라고도 하는데, 이 식별자는 값이 아니라 메모리 주소를 기억하여 저장된 값에 접근한다.
- 변수, 함수, 클래스 등의 이름은 모두 식별자임 ⇨ 변수에만 한정되는 게 아니다.
변수를 사용하기 위해서는 변수 선언(variable declaration)이 반드시 필요하다
✔️ var, let, const 키워드를 사용해 변수를 생성
- ES6문법으로 let, const키워드가 도입됨
- var은 되도록 더이상 사용하지 않는다 ⇨ 블록 레벨 스코프(block-level-scope)를 지원하지 않고 함수 레벨 스코프(function-level-scope)를 지원하기 때문에 의도치 않게 전역 변수가 선언된다는 단점이 있음
var 키워드를 사용한 변수 선언은 선언 단계와 초기화 단계가 동시에 진행됨
- 선언 단계로 변수 이름을 등록하고, 초기화 단계가 동시에 진행되며 암묵적으로 undefined가 할당되며 초기화됨
- 선언하지 않은 식별자에 접근 시 ReferenceError가 발생
식별자 네이밍 규칙
✔️ 숫자, _, $, 영어 포함 가능. 다만 숫자로는 시작 불가능
▪️ naming convention
- camelCase - 변수나 함수 이름에 주로 사용
- PascalCase - 생성자 함수, 클래스 이름에 주로 사용
- snake_case, typeHungarianCase 등도 있음
'JavaScript > 모던자바스크립트 Deep Dive' 카테고리의 다른 글
모던자바스크립트 Deep Dive - 9장 타입 변환과 단축 평가 (0) | 2022.03.20 |
---|---|
모던자바스크립트 Deep Dive - 8장 제어문 (0) | 2022.03.19 |
모던자바스크립트 Deep Dive - 7장 연산자 (0) | 2022.03.19 |
모던자바스크립트 Deep Dive - 6장 데이터 타입 (0) | 2022.03.14 |
모던자바스크립트 Deep Dive - 5장 표현식과 문 (0) | 2022.03.14 |