scope let과 const
- 웹 언어 배우기/ES6
- 2019. 4. 3. 00:58
let은 블럭 단위로써 아래 예제를 통해 가볍게 이해할 수 있다.
var name = 'name';
//var
function hello(){
for(var i=0;i<10;i++){
console.log(i); //0부터 9까지 출력
}
console.log(i); //10출력
}
//let
function hello(){
for(let i=0;i<arr.length;i++){
console.log(i); //정상 실행
}
console.log(i); //for문 바깥에 쓰면 오류발생
}
위 코드를 보면 0부터 9까지 출력하는 함수를 정의했다. let은 보는것과 같이 for문 안에 써야 정상실행이 가능하다. 이것이 바로 block 단위이기 때문이다.
const도 아래 예제 코드를 보면 한번에 이해할 수 있다.
//var
function home(){
var homename = 'dahan';
homename = 'cho';
console.log(homename);
}
home(); //cho출력
//const
function home(){
var homename = 'dahan';
homename = 'cho'; //지우고 실행하면 정상 실행
console.log(homename);
}
home(); //재할당 오류
따라서 const는 재할당할 수 없다. 하지만 let은 재할당이 가능하다. 즉, let과 const를 주로 사용하되 변수가 바뀌지 않다면 const를 변수를 변경해야 하면 let을 사용하자.
이 글을 공유하기