당근개발자
당근당근
당근개발자
전체 방문자
오늘
어제
  • 분류 전체보기 (157)
    • codepresoo (13)
    • JAVA (1)
    • JS (12)
    • 코딩 테스트 (7)
    • Spring (21)
    • 자료구조 (4)
    • HTTP (7)
    • JSP (36)
    • Etc (21)
    • RESTful (11)
    • React (1)
    • k8s (0)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 코드프레소. #codepresso #대외활동 # IT교육 #코딩강의 #코딩 이러닝 # 무료 IT교육 #무료 코딩교육
  • thymleaf#layout#fragment#thymleaf layout 적용안됌
  • thymleaf error#template might not exist
  • S
  • 한 번에 끝내는 코딩테스트 369 Java편 초격차 패키지 Online.
  • 이
  • 한 번에 끝내는 코딩테스트 369 Java편 초격차 패키지 Online
  • @JsonFilter#당근개발자
  • HATEAOD
  • Primitive#Wrapper
  • #코드프레소. #codepresso #대외활동 # IT교육 #코딩강의 #코딩 이러닝 # 무료 IT교육 #무료 코딩교육
  • stack#자료구조
  • dobule_linked_list#java
  • queue#자료구조
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기
  • 패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #수강하고있는강의명

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
당근개발자

당근당근

Etc

TDZ(Temporal Dead Zone)

2021. 5. 31. 23:51

tdz  일시적인 사각지대라는 뜻이다. 

사각지대는 스코프의 시작 지점과 초기화 시작 지점까지의 구간을 말한다.

 

javascript에서의 변수는 선언 , 초기화, 할당  3가지 단계를 걸쳐서 생성이 된다.

 

 

@ 선언 단계 : 변수를 실행 컨텍스트의 변수 객체에 등록하는 단계이다. 이 변수 객체는 스코프가 참조하는 대상이 된다.

 

@ 초기화 단계 : 실행 컨텍스트에 존재하는 변수 객체에 선언단계의 변수를 위한 메모리를 만드는 단계이다. 이 단계에서 할당되 메모리에는  undefined 로 초기화 된다.

 

@ 할당 단계 : 사용자가 undefined로 초기화된 메모리의 다른 값을 할당하는 단계이다.

 

 

var 변수 라이프사이클

 

var 키워드 변수는 변수 선언전에 선언 단계와 초기화 단계를 동시에 진행합니다.

그래서 javascript는 실행 컨텍스트 변수 객체의 변수를 등록하고 메모리를 undefined로 만들어 버립니다.

그렇기 때문에 변수를 선언하기 전에 호출을 해도 undefined로 호출이 되는 호이스팅이 발생하는 것 입니다.

 

let 변수 라이플사이클

 

let으로 선언된 변수는 var 키워드와는 다르게 선언단계와 초기화 단계가 분리되어서 진행이 된다.

그렇기 때문에 실행 컨텍스트에 변수를 등록했지만,

메모리가 할당이 되질 않아 접근할 수 없어 참조 에러(ReferenceError)가 발생하는 것이고,

이것을 보고 우리가 호이스팅이 되질 않는다 ~ 라고 오해할 수밖에 없었던 것이다.

 

TDZ는 스코프의 시작 지점부터 초기화 시작 지점까지의 구간을 말한다.

즉 let 또한 선언전, 실행 컨텍스트 변수 객체에 등록이 되어 호이스팅이 되지만,

이 TDZ 구간에 의해 메모리가 할당되지 않아 참조 에러를 발생하는 것이다.

'Etc' 카테고리의 다른 글

webserver , was  (0) 2021.06.20
문서의 로드 시점  (0) 2021.06.17
세션(Session)  (0) 2021.04.29
쿠키(Cookie)  (0) 2021.04.29
상태정보 유지(cookie ,session)  (0) 2021.04.28
    'Etc' 카테고리의 다른 글
    • webserver , was
    • 문서의 로드 시점
    • 세션(Session)
    • 쿠키(Cookie)
    당근개발자
    당근개발자

    티스토리툴바