2020-03-22 var, let, const 차이

2020. 3. 22. 19:13JavaScript

728x90

* 하기 표에서는 변수생성시 1. 선언, 2.초기화, 3.값할당의 순서만 언급하였지만, TDZ를 포함한 자세한 내용은 https://junhobaik.github.io/js-let-cont-hoisting/ 에서 확인하도록 하자.

var

function scope(function(){} 속의 {}curly brackets 안에서 선언되어도 그 {}의 바깥에서도 유효함).

변수생성시 1. 선언 + 2. 초기화(메모리할당) 이 동시에 이루어짐.

초기화를 마친 변수는 아직 undefined 상태임.

 

어느 위치에서는 재선언, 재할당이 가능함.

let

block scope (let 변수가 선언된 {} 안에서만 유효함.

변수생성시 1. 선언, 2. 초기화(메모리할당), 3. 값할당의 순서를 거쳐야 함.

 

재할당만 가능함.

const

block scope (const 변수가 선언된{} 안에서만 유효함

변수생성시 1. 선언, 2. 초기화(메모리할당), 3. 값할당의 순서를 거쳐야 함.

 

재선언, 재할당 불가함.

단, 객체와 배열의 경우에는 수정 가능.

 

728x90
반응형