1. [자바스크립트] 끌어올림/호이스팅(Hoisting)
ㅇ 변수 호이스팅 (Variable Hoisting)
- 변수 선언의 끌어올림
. 중간 부분에서 변수 선언을 하여도,
. 마치 그 변수가 첫머리에 선언된 것 처럼 취급됨
- 결국, 변수 선언 및 변수 할당이 분리됨
ㅇ 함수 호이스팅 (Function Hoisting)
- 함수 선언의 끌어올림
. 함수 선언문 형태(명시적 함수)로 정의한 함수의 유효 범위는,
. 코드의 맨 처음부터로 취급됨
* 단, 함수 표현식 형태로 선언되는 경우는 호이스팅되지 않음 ☞ 자바스크립트 함수 종류 참조
※ 호이스팅은, 자바스크립트 고유한 특성으로 다른 프로그래밍 언어와는 차별됨
2. [자바스크립트] 변수 선언용 키워드 셋
ㅇ var 선언자
- 변수를 어디에서 선언하든, 변수 선언이 맨앞(첫머리)에 있는 것 처럼 취급함 (변수 호이스팅 됨)
ㅇ let,const 선언자 ☞ 자바스크립트 스코프, 블록 구조 참조
* (블록 유효 범위 선언자로써, ECMAScript 6 이후 가능해 짐)
- let : 블록 유효 범위(중괄호 {}) 내에서,
. 즉, 지역 변수의 선언자 (var와 사용법은 같음)
- const : 블록 유효 범위(중괄호 {}) 내에서,
. 상수 변수의 선언자
.. 하나의 값 만 할당할 수 있는 상수 변수
. let과 달리, 선언시 반드시 값을 할당해야 하고, 이후 재할당(변경) 불가
.. 단, 객체 내부 요소 값의 변경은 가능