본문 바로가기
JAVA Script

JavaScript 자료형 ( var, const, let )

by pms93 2022. 12. 9.

* JavaScript는 hoisting방식으로 위치, 순서와 상관없이 변수선언의 코드를 먼저 읽어들인다.

   - 변수뿐만 아니라 function, class등의 키워드를 통해 선언된 식별자 관련된 것들은 먼저 hoisting된다.

 

* var

 - var를 통한 변수 선언은 선언과 동시에 초기화 된다.

 - 중복 선언이 '가능'하다.

 - 변수값 재할당이 가능하다.

 - 함수코드 블록 외에 선언된 var는 전역변수 범위(scope)를 갖게된다.

 - 변수 선언 이전에 변수를 참조하면 undefined를 반환한다.

 ex) var number;

        - undefined로 할당되 메모리상에 공간을 잡아먹고 선언과 동시에 초기화 된다.

 

* let

 - let을 통한 변수선언은 선언과 동시에 초기화 된다.

 - 중복 선언이 '불가능'하다.

 - 변수값 재할당이 가능하다.

중복 선언이 불가능하나 block-level scope를 따르는 특성으로 인해 if문 내의 let a는 지역변수 취급을 받는다.

 - let은 var와 다르게 선언과 초기화 단계가 분리되어 진행된다. JavaScript엔진에 의해 선언이 먼저 이뤄지지만 초기화 하기 전에 참조하려 할 시 에러를 발생시킨다.

 

* const

 - 선언과 초기화가 동시에 진행된다.

   (* 선언과 동시에 초기화 된 값은 이후에 재할당이 불가능하다.)

 - 중복 선언이 '불가능'하다

 - let과 동일하게 block-level scope를 따른다.

 

 - var보다는 let과 const사용이 권장되며 상수형태의 값을 선언 할 시에는 const사용을 권장한다.

'JAVA Script' 카테고리의 다른 글

Java Script(3)  (0) 2022.09.20
Java Script(2)  (0) 2022.09.19
Java Script(1)  (0) 2022.09.16