본문 바로가기
Javascript/ECMAScript 2015 (ES6)

[ES 6] 블록 스코프 let과 상수 const

by parkjp 2017. 9. 11.

 

1. 블록 스코프 변수 선언 - let

 

 let 키워드로 선언한 변수를 블록 스코프 변수라고 한다. 함수 밖에서 선언하면 함수 스코프 변수처럼 쓸 수 있다. 블록 안에서 선언하면 자신을 정의한 블록 또는 하위 블록에서만 접근 가능하며 블록 밖에서는 볼 수 없다.

 

let a = 1;

function myFunction() {
console.log(a); // 1
let b = 2;

if(true) {
let c = 3;
console.log(b); // 3
}
console.log(c); // Reference Error Exception
}

myFunction();

 

 기존의 함수 스코프 변수 var과는 다르게 마지막 변수 c를 찍을 때에 에러가 발생한다. 기존 var를 사용하면서 스코프를 착각할 일이 있었던 것에 비해 let을 쓰면 스코프를 착각할 일이 줄어들고, 버그를 일으킬 확률도 낮아진다.

 

2. const

 

 const 키워드는 읽기 전용 변수, 즉 값을 다시 할당할 수 없는 상수를 선언한다.

여기서 const의 스코프는 블록 스코프 변수로 let으로 선언한 변수와 스코프는 동일하다.

 

const

A =

1;

A =

12; //

Uncaught TypeError: Assignment to constant variable.

 

반응형

'Javascript > ECMAScript 2015 (ES6)' 카테고리의 다른 글

[ES 6] 모듈이란?  (0) 2017.09.19
[ES 6] Class 구문과 상속  (0) 2017.09.19
[ES 6] Promise 패턴을 사용한 http request 요청  (0) 2017.09.15
[ES 6] Symbol  (0) 2017.09.11
[ES 6] Arrow Function - 화살표 함수  (0) 2017.09.11