자바스크립트 공부를 진행하며
배운 변수 var / let / const에 대해 정리하는 글입니다.

변수의 종류

1. var 전역변수

  • var는 전역변수로 변수를 설정해주면 var 변수이름 = 변수값 ; 이렇게 주로 많이 사용해왔다.
  • var의 scope는 global
    (함수밖에서 정의 된 변수가 함수안에서도 사용가능하고,
    whole window 안에서 사용 다 가능한 것)
Ex.

var greeting = "hey hi" ; 
var times = 4;

if( times> 3) {
   var greeter = "say Hello instead";
}
console.log(greeter) // "say Hello instead" 
  • 변수 greeter 가 재정의 되었는데... 값이 바뀌어버림 그래서 let 과 const의 사용이 필수적임!

2. let

  • let은 ES6부터 사용되는 local variable (지역변수) 이다.
  • block scope를 가짐 -> block안에서만 역할 가능 !
    block은 { } 로 묶인 공간이며 이런 변수는 scope가 정해진 경우, 해당 scope에서만 변수역할을 할 수 있는 것.
    예를 들어 function안에서 let을 통해 변수를 정해줬는데
    내가 함수 밖에서 해당 변수를 호출하면 해당변수는 undefined으로 나옴!
    값이 나오지않는다~~
  • 변수로 저장된 데이터 값을 바꿀 수 있음(값 update 가능)
    그러나 ,, 같은 scope 내에서 redeclaration 안됨 !
let greeting = "say Hi";
let greeting = "say Hello instead" -> error : 이미 declared된 것이다 라는 에러 뜸

3. const

  • const도 block scope다 !
    변수로 저장된 데이터 값을 바꿀 수 없고, 같은 redeclaration도 안됨!

    const fruite = "apple";
    fruite =  "banana"; 로 바꾸면 error뜸 !! 
    왜냐면~ const로 설정한 변수는 데이터값을 바꿀수 없기때문에 //
  • 일단은 const를 통해서 변수를 쓰는 습관을 들이고, 나중에 수정할 일 있을 때 let으로 변경해주면 된다 !

  • 변수 관련해서 호이스팅과 초기화가 있는데 조금 더 공부해서 올리기로 하자!