var, let, const의 차이점과 상황에 맞게 쓰는 법

호니·2023년 7월 3일
0

var과 let, const 모두 javascript에서 사용하는 변수이다!

1. var

  1. 중복 선언이 가능하다.
  2. 함수 내에서 선언된 변수는 함수 내에서만 유효하고, 함수 내에서는 블록 내외부에 관계없이 유효 (함수 외부에서 참조 불가)

함수 외부에서 참조 불가 예시

function function(){
  if(true){
   var a = 1;
   console.log(a); //1
  }
 console.log(a);
}

function(); //1
console.log(a);//ReferenceError: a is not defined

2. let

  1. 중복 선언은 불가능하지만 재할당은 가능하다.
  2. 함수, if절 외 for, while 등 모든 코드 블록 내부에서 선언된 변수 코드 블록 내부에서만 유효 (블록 외부부터 참조 불가)

3. const

상수를 의미함.

그렇기에, 중복 선언이 불가능하고, 재할당도 불가능하다.
2. 함수, if절 외 for, while 등 모든 코드 블록 내부에서 선언된 변수 코드 블록 내부에서만 유효 (블록 외부부터 참조 불가)

중복 선언, 재할당 불가 예시

const food = 'cookies';
console.log(food); // cookies

const food = 'chicken';
console.log(food); 
//Uncaught SyntaxError: Identifier 'title' has already been declared

food = 'pizza';
console.log(food);
//Uncaught TypeError: Assignment to constant variable

4. 그래서 언제 무엇을 쓰면 좋을까?

재할당이 필요없는 상수과 객체에는 기본적으로 const를 사용하는 것이 좋다.
재할당이 필요한 경우 한정적으로 let을 사용하는 것이 좋다. 단, 이 때 변수의 스코프는 최대한 좁게 만드는 것이 좋다.

profile
호니의 개발 공부

0개의 댓글