본문 바로가기

언어/javascript

javascript : var, let, const 차이

반응형
var variableA = 52;
let variableB = 273;
const consantC = 103;

console.log(variableA);
console.log(variableB);
console.log(consantC);
52
273
103

var let const 차이가 뭘까??? 일단 출력은 똑같다..

 

키워드 구분 선언 위치 재선언
var 변수 전역 스코프 가능
let 변수 해당 스코프 불가능
const 상수 해당 스코프 불가능

 

표를 봐도 감이 안잡힌다... 예제를 들어보자.

 

let variable = 273;
variable = 52; // 가능함

const constant = 273;
constant = 52; // 불가능

 

var 키워드로 선언한 변수와 let 키워드로 선언한 변수의 차이

 

특정 변수를 사용할 수 있는 유효 범위를 '스코프(유효범위)'라고 한다. 조건문, 반복문, 대괄호 등으로 만들어지는데, 다음 코드에서 대괄호로 감싼 부분이 스코프입니다. 스코프를 찾아보면 '가장 외각에 있는 코드를 입력할 수 있는 부분'이라는 전역 스코프를 포함해 3개의 스코프가 있습니다.

 

// 전역 스코프
{
	// 스코프A
    {
    	// 스코프 B
    }
}

 

일반적인 프로그래밍 언어에서는 "특정 스코프 안에서 선언한 변수는 해당 스코프 안에서만 사용할 수 있다"라는 규칙이 있습니다. 따라서 다른 프로그래밍 언어에서 다음처럼 작성하면 오류가 난다.

 

{
	// 스코프 A
    var variable = 273;
}

{
	// 스코프 B
    alert(variable);
}

// 전역 스코프
alert(variable);

 

하지만 god js는 오류가 발생하지 않는다. 이유는 var 키워드는 "전역 슼프 위치"에 변수를 선언하는 키워드이기 때문이다.

 

하지만 let은 일반적인 언어처럼 내부 스코프에서만 사용할 수 있는 변수이다. 이게 차이임

반응형