Javascript / / 2023. 8. 3. 17:12

변수와 상수(var, let, const)

728x90
반응형
  1. var
    • var와 let의 차이점은 scope입니다.
    • var은 funciton 단위의 scope를 가집니다.
    • ES6 이전에 나온 변수 선언 방식입니다.
var str="hello";
if(true){
	var str2="world";
}

	console.log(str2);   // world

위 코드는 if문 안에서 str2를 선언했지만 if문 밖에서도 변수가 유효한 것을 알 수 있습니다.

또한 같은 이름의 변수를 여러 번 선언하여도 오류가 나지 않습니다.

 

 

2. let

  • ES6에서 추가된 변수 선언 방식입니다.
  • let은 {}(block) 단위의 scope를 가집니다.
let str='hello';  
{
  let str='world';  
  console.log(str); //world
}
console.log(str); //hello

let을 사용한다면 위와 같은 결과를 얻을 수 있다.

또한 var와 다르게 같은 변수명을 갖는 변수는 두 번 선언하게 되면 오류가 발생하므로 변수의 값을 바꿔 주는 식으로 사용하여야 한다.

3. const

  • 상수는 한 번 선언하면 바꿀 수 없습니다.
  • const는 상수를 선언할 때 사용합니다.
const str="hello";
str="world";	//error

위와 같은 상수를 선언한 str의 값을 바꾸려고 하면 error가 납니다.

또한 const의 scope은 {}(block)입니다.

 

 

→ 요약 var 선언은 전역 범위 또는 함수 범위이며 let과 const는 블록 범위이다.

var 변수는 범위 내에서 업데이트 및 재선언할 수 있다. let 변수는 업데이트할 수 있지만, 재선언은 할 수 없다. const 변수는 업데이트와 재선언 둘 다 불가능하다.

728x90
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유