Web Dev/ELICE

13 :: 스코프, 호이스팅, 실행컨텍스트 그리고 문제들

HJPlumtree 2021. 11. 11. 18:25

엘리스 SW 엔지니어 트랙 13일차

오규석 코치님

 

 

스코프, 호이스팅, 실행 컨텍스트 등

익숙하지 않은 단어가 등장하는 날

 

단어에 쫄 필요가 없다

익숙하지 않아서 그렇지, 알고나면 별거 없다

 

스코프(Scope)

Global과 Local 차이

 

 

호이스팅(Hoisting)

선언을 코드 맨 위로 올려진 것 같이 행동

 

 

실행 컨텍스트 어려운데

이해하면 자바스크립트 사용에 좋다고 하신다

 

 

실행 컨텍스트(Execution Context)

자바스크립트가 실행되기 위해 알아야할 정보들

필요 변수, Scope, this 등

 

 

실행 컨텍스트의 종류

  1. 전역 실행 컨텍스트
  2. 지역 실행 컨텍스트

이 2개만 존재

 

 

  • 전역 실행 컨텍스트(Global Execution Context: GEC)
    • 유일하게 하나만 존재
    • 자바스크립트가 실행될 때 보유
    • Global 개념
  • 지역 실행 컨텍스트(Functional Execution Context: FEC)
    • 0개 이상 다수 존재
    • 함수 호출시 FEC가 1개 만들어진다

 

그래서

다음 코드는 GEC 1개, FEC 2개

function a() {}
function b() {}

a()
b()

 

 

실행 컨텍스트 동작 과정

Creation Phase => Execution Phase

Creation에서 변수 선언만 되고,

할당은 Execution에서 된다

 

 

이론 수업 후

실습을 했는데

오전에 배운것과 크게 관계가

있다고 볼 수 없는

오히려 어려운 것들이 나왔네

 

this 사용법, 논란(?)이 있는걸로 아는 class

그리고 freeCodeCamp에서 했었던

reduce, map, filter를

for문으로 구성하기,

재귀함수 등

재밌는 문제들을 풀었다

 

문자열 자를 때

slice()만 사용했었는데

이번에 substr()을 알게돼서 유용하게 쓰일듯

 

 

JavaScript by Claudio Schwarz #unsplash