티스토리 뷰

728x90

 안녕하세요, 자바스크립트에서 어떻게 변수 선언을 하는지, 각각의 방법은 어떤 것이 다른지 알아보도록 하겠습니다. 


1. 변수 선언 방법

 자바스크립트는 변수를 선언할때 const, let, var를 사용합니다. 경우에 따라 쓰이는 곳이 다릅니다. 이를 알기 위해선 블록 스코프와 함수 스코프 에 대해서 알아야합니다.

//변수 선언 방법
var x=3;
const x=3;
let x=3;

 

2. 블록 스코프 vs 함수 스코프

 블록 스코프는 블록 밖에서 변수에 접근할 수 없는 것을 의미하고 함수 스코프는 함수 밖에서 변수에 접근할 수 없다는 것을 의미합니다. 이때 블록의 범위는 if, while, for, function 등에서 볼 수 있는 중괄호 사이 입니다.

 예를 들어서 밑의 코드와 같이 if 안에 변수를 선언하고 if문 밖에서 호출할 경우, 블록 스코프인 const와 let으로 선언한 변수는 에러를 일으키고, 함수 스코프인 var으로 선언한 변수는 에러를 발생시키지 않습니다.

//함수 스코프
if(true){
	var x=3; 
}
console.log(x); //3

//블록 스코프
if(true){
	const y=3;
}
console.log(y); //Uncaught ReferenceError: y is not defined

 보통 함수 스코프(var) 대신 블록 스코프(const,let)를 더 많이 사용합니다. 그 이유는 함수 스코프 대신 블록 스코프를 사용함으로써 호이스팅 같은 문제도 해결되고 코드 관리도 훨씬 수월하기 때문입니다. 

 

3. const vs let

 const와 let의 차이점은 초기화 후 다른 값을 할당할 수 있냐, 없냐에 있습니다. const의 경우 한 번 값을 할당하면 다른 값을 할당할 수 없습니다. 또한, const는 초기화할 때 값을 할당해야 에러가 발생하지 않습니다. 하지만, let의 경우 초기화 후 다른 값을 할당할 수 있습니다.

 


다음은 위의 내용을 한번에 표로 정리한 것입니다. 

  const let var
스코프 블록스코프 함수 스코프
초기화 후 다른 값 할당  불가능 가능 가능

 

이상입니다. 감사합니다!

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함