본문 바로가기
개발자 일기/일일회고 (TIL)

[원티드 프리온보딩 9월]2회차 회고

by MS_developer 2024. 9. 8.

 

프리온보딩 2회차를 들었다.

이번에는 이벤트 루프에서의 Stack과 Queue 가 주제로, 이벤트 루프에서 Stack과 Queue 가 어떻게 동작하는지 등에 대한 이야기를 나누었다.

 

알고 있는 개념이라고 생각했는데, 정확히 잘 모른다는 것을 새삼 또 느꼈다. 누군가에게 설명할 수 없다면 모른다는 것이 정말 맞다고 항상 느끼고 또 느끼게 되는 것 같다.


오늘의 학습내용

  • 데이터의 정의
  • 메모리의 구성 요소와 종류 (Stack, Heap, Data, Code)
  • 이벤트 루프에서의 Stack
  • 이벤트 루프에서의 Queue 
  • Execution Context를 통해 알아보는 JavaScript 엔진의 동작 방식

어려웠던 keyword / 활용한 질문

Q. 왜 자료구조로 분리해서 데이터를 저장하는 것이 필요한가요?

 

A. 저장하고자 하는 데이터의 핸들링 방식에 따라 적절한 자료구조를 활용하는 것이 작업의 효율성, 추상화, 재사용성을 높일 수 있기 때문입니다. 특히 대규모 데이터의 경우, 코드의 효율성과 가독성을 높임으로써 서비스하는 프로덕트의 퀄리티를 높일 수 있기 때문입니다.

 

Q. 자바스크립트에서 실행 컨텍스트(Execution Context)가 왜 중요한지 Lexical Scope를 활용한 예시로 설명해주세요. 

 

A. 실행 컨텍스트는 실행할 코드에 제공할 정보들을 모아놓은 환경입니다. 자바스크립트에서 코드를 평가하고 실행하기 위한 과정에서 스코프를 통해 판단하는 기준이 필요한데, 이때 실행 컨텍스트를 기반으로 판단을 합니다. 어휘적 범위(Lexical Scope)를 예로 들자면, 만약 함수 안에 할당되지 않은 변수가 있다면 이를 참조하기 위해서 실행 컨텍스트에서 찾아봅니다

 

Q. 자바스크립트 엔진이 동작할 때, 실행 컨텍스트가 어떤 역할을 하나요?

 

A. 자바스크립트는 동작 시 소스코드 평가 단계와 소스코드 실행 단계로 나뉩니다. 실행 컨텍스트는 소스 코드 평가 단계에서 생성되며, 변수나 함수의 선언문만 먼저 실행하여 식별자를 실행 컨텍스트에 저장합니다.

 

댓글