티스토리 뷰

JS의 변수 선언방식은 총 3가지이다.

 

1. var

console.log(a);  // undefined
var a = 1;
console.log(a);  // 1
- 재선언과 업데이트가 가능하다.
- 따라서 예기치 못한 많은 문제가 발생한다.
- 선언과 초기화가 동시에 이루어지므로 ReferenceError가 아닌 undefined 출력

 

2. let

console.log(a); 
let a = 1;
console.log(a);

//ReferenceError: a is not defined
- 재선언x, 업데이트 가능하다.
- var에서 발생한 많은 문제들을 해결하기위해 let을 개발자가 개발
- 선언과 초기화가 분리되어 진행된다. hoisting되어 선언은 되어있는상태지만 초기화가 이루어지지 않아, 에러발생
   초기화되기 전까지 TDZ(Temporal dead zone)영역에 존재

 

3. const

- 재선언x, 업데이트x
- 일정한 값 유지할때 사용
- let과 동일하게 선언 초기화 분리되어 진행, hoisiting 되어 선언은 되어있는 상태지만 초기화가 이루어지지 않아 에러발생 초기화되기 전까지 TDZ영역에 존재

 


변수 업데이트 재선언 스코프 정의x 접근시
var O O 함수(function)  undefined
let O X 블록{} ReferenceError
const X X 블록{} ReferenceError

 

 var쓰지말자
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함