본문 바로가기
JavaScript

JS - var vs let vs Const

by 달보드레. 2021. 10. 18.

JavaScript에는 3가지의 변수 선언 방식이 있다

var

var는 선언과 동시에 초기화가 진행된다.

var는 중복선언이 허용된다.

또한 var는 오로지 함수의 블록만을 지역 스코프로 인정 하기 때문에

함수가 아닌곳에서 var로 선언한 변수는 모두 전역변수로 취급이 된다

따라서 이렇게 if문 안에 var를 선언할 경우 if 블록은 함수가 아니기 때문에 전역변수로 취급되어

var a = 'hi' 
if (true) { 
	var a = 'hello' 
} 
console.log(a)

변수 a는 'hello'로 값이 바뀌게 된다.

값이 hello로 바뀐다.

let

let은 선언과 초기화가 따로 진행된다

let은 var와는 달리 중복선언은 허용되지 않지만 값의 재할당은 가능하다.

let은 모든 블록 지역 스코프를 인정 한다(if,for,try-catch...)

let a = 'hi' 
if (true) {
	let a = 'hello' 
} 
console.log(a)

변수 a는 'hi'가 그대로 출력된다.

 

const

const은 var와 동일하게 선언과 초기화가 동시에 진행된다

const은 var와는 달리 중복선언이 허용되지 않고 var와 let 처럼 재할당도 불가능하다.

const은 모든 블록 지역 스코프를 인정 한다(if,for,try-catch...)

const a = 'hi' 
a = 'hello'
console.log(a)

재할당이 불가능하다

 

'JavaScript' 카테고리의 다른 글

JS - 전개연산자  (0) 2021.10.18
JS - 구조 분해 할당  (0) 2021.10.18
JS - 함수  (0) 2021.10.07
자바스크립트 핵심 컨셉 33 - (1) Call stack , Primitive Types  (0) 2020.06.15
자바스크립트 - 데이터 타입,연산자  (0) 2020.06.08