[ES6] var, const, let

CC·2022년 6월 1일
0

var

function myFunction() {
	var a = 'hello';
    if( true ) {
    	var a = 'bye';
        console.log(a); // bye
    }
    console.log(a); // bye
}
myFunction();

if 문 안에서 새로 선언했음에도 if 문 밖에서 a를 호출하면 변경된 값이 나온다.
var 키워드는 scope가 함수 단위이기 때문이다.

const

한번 지정하고 나면 변경이 불가능한 상수를 선언할 때 사용

let

동적인 값을 담을 수 있는 변수를 선언할 때 사용

function myFunction() {
	let a = 'hello';
    if( true ) {
    	let a = 'bye';
        console.log(a); // bye
    }
    console.log(a); // hello
}
myFunction();

const와 let은 scope가 블록 단위 이므로, if 문 내부에서 선언한 a의 값은 if 문 밖에서 변경하지 않는다.
const와 let을 사용할 때 같은 블록 내부에서 중복 선언이 불가능하다.
기본적으로 const를 사용하고, 해당 값을 바꾸어야 할때(ex. for문) let을 사용하면 된다.

0개의 댓글