자바스크립트의 실행 컨텍스트를 너무나도 잘 설명한 무료 강의입니다.
실행 컨텍스트가 매번 헷갈려서 여러번 검색했었는데 오늘 이 강의를 바탕으로 다시한번 요약해 보겠습니다.
1. Record로 JS 호이스팅 이해하기
호이스팅이란?
선언문이 마치 최상단에 끌어올려진 듯한 현상입니다
호이스팅은 *생성 단계 에서 실행됩니다
변수 호이스팅
var 변수 선언 키워드 | let, const 변수 선언 키워드 | |
호이스팅 | O | O |
초기화 | undefined로 초기화 | 초기화 X |
변수참조 | 참조가능(undefined) | 참조불가(일시적 사각지대) |
함수 호이스팅
함수 표현식 | 함수 선언 | |
작동방식 | 변수 호이스팅과 동일 | 선언과 동시에 함수가 생성 |
선언 전 함수 사용 | X | O |
용어정리
* 생성 단계 :
실행 컨텍스트가 생성되고 선언들을 Record에 기록하는 단계입니다
*실행 단계:
선언문 외 나머지 코드를 순차적으로 실행하는 단계입니다
* 선언 :
메모리 공간을 확보하고 식별자와 연결하는 것입니다
* 초기화 :
식별자에 암묵적으로 undefined 값을 넣는 것입니다
* 일시적 사각지대 :
let 과 const는 초기화를 하지 않기 때문에 값을 선언하기 전까지 참조할 수 없는 구역이 생깁니다
일시적 사각지대는 이 구역을 의미합니다
* 함수 표현식(Function Expression) :
변수안에 함수를 담아두는 형식입니다 ex) let exam = ()=>{}
* 함수 선언문(Funciton Declaration) :
function(){} 형식의 함수선언입니다
2.Outer로 JS 스코프체이닝 이해하기
Outer란?(Outer Environment Reference)
바깥 Lexical Environment를 의미합니다
다른 실행 컨텍스트의 Record 값을 참조할 수 있는 "사다리" 라고 생각하기 좋습니다
스코프 체인이란?
식별자를 결정할 때 활용하는 스코프들의 연결리스트를 의미합니다.
식별자를 결정하기 위해 찾는 과정을 스코프 체이닝 이라고 합니다.
용어정리
* 스코프 :
변수와 함수가 어디서 접근 가능한지 결정하는 범위 입니다
* 렉시컬 환경:
렉시컬 환경은 스코프가 "실제로" 어떻게 동작하는지를 구현한 것입니다
렉시컬 환경은 Record와 Outer로 구성되어 있습니다
*실행 컨텍스트:
실행 컨텍스트는 코드 실행의 "무대" 나 "환경" 입니다.
렉시컬 환경은 그 "무대" 안에서 변수와 함수가 어떻게 저장되고 접근되는지 관리하는 것입니다
*변수 섀도잉:
동일한 식별자가 선언되어 상위 스코프에서 선언된 식별자의 값이 가려지는 현상입니
3.Execution Context(실행 컨텍스트) 정리
식별자 결정을 더욱 효율적으로 하기 위한 수단입니다
4.강의후기
15분 남짓한 강의이지만 정리하려고 보니 내용이 많아 꽤 오래 걸렸습니다
강의의 내용이 너무 알차고 강의 전달력이 좋습니다
강의에서 가장 좋았던 부분은 "예시 그림"입니다
꼭 강의도 들으시길 추천드립니다!
'Review > 프로그래밍 강의 후기' 카테고리의 다른 글
[Udemy] 코딩 테스트 문제 접근 방법 (0) | 2023.10.09 |
---|---|
[유튜브 무료강의] [10분 테코톡] 📣 완태의 전략패턴 강의후기 (0) | 2023.09.01 |