4장: 변수
4.1 변수란 무엇인가?
- 변수(Variable): 데이터를 저장하고 참조하기 위한 식별자.
- 변수 선언: var, let, const 키워드를 사용하여 변수를 선언.
4.2 식별자 네이밍 규칙
- 식별자(Identifier): 변수명, 함수명 등을 지칭하는 용어.
- 네이밍 규칙:
- 길이 제한 없음.
- 유니코드 문자, 숫자, 달러 기호($), 언더스코어(_) 사용 가능.
- 숫자로 시작 불가능.
- 예약어 사용 불가능.
4.3 변수 선언
- var: 함수 스코프를 갖고 있고, 중복 선언이 가능. 호이스팅 발생.
- let: 블록 스코프를 갖고 있고, 중복 선언이 불가능. 호이스팅 발생.
- const: 블록 스코프를 갖고 있고, 중복 선언이 불가능. 선언 후 재할당 불가능.
4.4 변수 호이스팅
- 호이스팅(Hoisting): 변수 및 함수 선언이 코드의 최상단으로 옮겨지는 현상.
- var 변수: 선언부가 호이스팅되어 초기화 전에 참조 가능.
- let과 const 변수: 호이스팅은 발생하지만 일시적 사각지대(Temporal Dead Zone)가 존재해 초기화 전에 참조하면 에러 발생.
4.5 변수의 스코프와 라이프사이클
- 스코프(Scope): 변수의 유효 범위.
- 전역 스코프(Global Scope): 전역에서 접근 가능한 범위.
- 지역 스코프(Local Scope): 함수 내부에서 접근 가능한 범위.
- 블록 스코프(Block Scope): {} 내부에서 선언된 변수는 해당 블록 내에서만 유효.
4.6 전역 객체
- 전역 객체(Global Object): 브라우저 환경에서는 window, Node.js 환경에서는 global 객체.
- 전역 변수: 전역 객체의 프로퍼티로 선언된 변수.
4.7 let과 const
- let: 재할당 가능한 변수 선언에 사용.
- const: 재할당이 불가능한 상수 선언에 사용. 객체의 불변성을 보장하지 않음.
4.8 변수 선언의 실행 시간과 런타임
- 선언(Declaration)과 할당(Assignment): 선언은 컴파일 단계에서 실행되고, 할당은 런타임에 실행됨.
4.9 변수 선언의 실행 순서
- 변수 선언문이 코드 내 어디에 위치하든 항상 최상단으로 호이스팅됨.
- 초기화가 따라오지 않는 선언은 undefined로 초기화됨.
'TIL' 카테고리의 다른 글
모던 자바스크립트 Deep Dive 06장 데이터 타입 (0) | 2024.01.24 |
---|---|
모던 자바스크립트 Deep Dive 05장 표현식과 문 (0) | 2024.01.24 |
타입스크립트에서 null 과 undefined를 효과적으로 처리하는 방법 (0) | 2023.09.02 |
React 에서 상태관리하는 방법 (0) | 2023.08.21 |
타입스크립트 (0) | 2023.08.20 |