변수 선언문 [var, let, const]

다시한번 정리해보기

global scope와 local scope

// 예제 1. 변수 선언 없이 a를 재할당만 했기 때문에 Global 환경을 참조합니다. 

/* Global Scope */
let a = 1;

function foo() {
  /* Local Scope */
  a = 0;
  console.log(a); // 0
}

foo(); // 0
console.log(a); // 1



// 예제 2. 함수 내에 let을 통해 다시 선언을 했기 때문에 Local 환경을 참조합니다.

let a = 1;

function zoo() {
  let a = 2;
  console.log(a); // 2
}

zoo(); // 2
console.log(a); // 1

let과 const는 거의 비슷하며 차이는 재할당에 있습니다.

const는 선언과 동시에 할당을 해야하며 재선언, 재할당이 불가능합니다.

let은 선언과 동시에 할당이 필요 없으며 재할당이 가능합니다.

추가적으로 var와 let & const간의 차이가 있는데 이 부분도 아래의 링크를 통해 조사해보시면 좋을 것 같습니다.

  • var -> 함수 레벨 스코프
  • let & const -> 블록({}) 레벨 스코프

그렇다면, 어떤 변수 선언 방식을 써야할까?

1) 변수 선언에는 기본적으로 const를 사용하고,
2) 재할당이 필요한 경우에 한정해 let 을 사용하는 것이 좋다.

그리고 객체를 재할당하는 경우는 생각보다 흔하지 않다.
const 를 사용하면 의도치 않은 재할당을 방지해 주기 때문에 보다 안전하다.

재할당이 필요한 경우에 한정해 let 을 사용한다. 이때, 변수의 스코프는 최대한 좁게 만든다.

재할당이 필요 없는 상수와 객체에는 const 를 사용한다.

좋은 웹페이지 즐겨찾기