개발공부/프론트엔드

JAVASCRIPT 변수 [ var, const, let ] 차이점

SA-WOL 2022. 3. 3. 17:32
반응형

자바스크립트에서는 3개의 키워드 [ var, const, let ] 를 사용해 변수를 선언.

    var 선언은 전역 범위 또는 함수 범위인 반면 let 및 const는 블록 범위이다.

 

(1) var

- ES5까지의 자바스크립트에는 변수 선언방법은 var 뿐이었다.

- var로 선언한 변수는 함수 스코프 or 전역 스코프입다.

  → 함수 스코프 : 함수 내부 영역

  → 전역 스코프 : 함수 내외부 영역

  * scope : 범위

- 선언한 변수의 값을 update 할 수 있다.

  * 단 변수가 선언된 스코프와 하위 스코프(중첩, 내부 함수)에서만 가능

- 변수를 다시 선언할 수 있다.

 

(2) let

º  'Let' 단어를 사용

- 블록범위로써 블록에 선언된 변수는 해당 블록 내에서만 사용할 수 있다.

  *블록 : { } 중괄호를 말함

- 선언한 변수의 값을 update 할 수 있다.

  * 단 변수가 선언된 스코프와 하위 스코프(중첩, 내부 함수)에서만 가능

 

- 변수를 다시 선언할 수 있다.

 

(3) const

º  const ( constant : '일정한' 이란 의미를 가지고 있다 )

- 블록범위로써 블록에 선언된 변수는 해당 블록 내에서만 사용할 수 있다.

  *블록 : { } 중괄호를 말함

- 선언한 변수의 값을 다시 선언하거나 update가 불가능 하다.

- const 개체는 업데이트 할 수 없지만, 개체의 속성은 업데이트 할 수 있다.

 

  * const 개체 및 속성 선언

const person = {
        name: "HongGilDong",
        age: 20,
        favoriteColor: "yello"
    }

  * const 속성 변경시

  person.favoriteColor = "green";

 

 

결론

- var 사용은 자제하기

- 변하지 않을 변수 선언시 const 사용

- 중간에 update가 될 수 있는 값에 대한 변수 선언시 let 사용

 

 

참고자료

https://ko.javascript.info/var#ref-111

https://www.freecodecamp.org/news/var-let-and-const-whats-the-difference/

반응형