반응형
3. let & const
(1) let
var 키워드의 문제점 해결 목적으로 등장했다.
let의 특징은 다음과 같다.
- let 키워드를 사용하면 var와 다르게 함수 스코프가 아닌 블록 스코프를 따른다.
- let 변수는 호이스팅(hoisting)되지 않는다.
- 변수의 중복 사용이 불가능하다.
비교해주기 위해 var의 특징부터 알아보자.
var의 특징은 다음과 같다.
- 호이스팅이 가능하다. undefined로 나오긴 했지만 선언이 아래에 있어도 에러가 나지 않는다.
- var는 함수 scope이기 때문에 for, if 등에서 선언된 변수가 밖에서 사용이 가능하다.
- 동일한 변수명으로 다시 선언을 해도 정상 동작한다.
이처럼 var는 다른 언어에 비해 자유도가 높다.
이런 특징이 장점도 있지만 개발자가 의도하지 않은대로 코드가 알아서 동작할 수도 있다.
그래서 let은 이런 문제점을 보완하여 나왔다.
- 호이스팅이 불가능하다. 반드시 변수 선언 이후 호출해야한다.
- let은 블록 scope이기 때문에 var와 다르게 위와 같이 사용할 수 없다.
- var와 다르게 동일한 변수명으로 선언이 불가능하다.
(2) const
상수 작성시 사용한다.
const 변수는 선언만 할 수 없으며 반드시 초기화 필요하다.
const 변수는 값을 변경할 수 없는 것만 제외하고 let 변수와 기능이 동일하다.
반응형
'개발 언어 > ECMAScript6' 카테고리의 다른 글
05 ECMAScript6 - 디스트럭처링 (De-structuring) (0) | 2018.04.02 |
---|---|
04 ECMAScript6 - function 2 (람다 함수, arrow 함수, generator) (0) | 2018.04.02 |
04 ECMAScript6 - function 1 (default, rest, spread) (0) | 2018.04.02 |
02 ECMAScript6 - strict 모드 (0) | 2018.04.02 |
01 ECMAScript6란 (개요, 개념) (0) | 2018.04.02 |
댓글