자바스크립트

    프론트엔드 면접(Sync, Async, 자바스크립트의 동작 원리, Call Stack, TaskQueue, Event Loop)

    1. Sync, Async의 차이점(동기, 비동기의 차이점)에 대해서 설명해주세요.Sync는 작업 요청이 이뤄지고, 요청 응답을 기다리는 것을 의미합니다. Async는 특정한 요청의 응답을 기다리지 않고 다음 작업을 수행하는 것을 의미합니다. 자바스크립트는 기본적으로 싱글스레드이기 때문에 요청된 작업을 하나씩 수행하지만 setTimeout이나 fetch과 같은 Web API를 사용하여 비동기로 처리할 수 있게 됩니다. 2. 자바스크립트의 동작 원리에 대해 설명해주세요.자바스크립트는 자바스크립트 엔진 위에서 동작하는데요, 대표적으로 구글의 V8엔진이 있습니다. 자바스크립트 엔진은 메모리힙과 콜스택으로 구성되어 있습니다. 메모리 힙은 변수, 함수 등 메모리 할당이 이루어지는 공간입니다. 콜스택에는 자바스크립..

    [JavaScript] 실행 컨텍스트(execution context)

    들어가기 전실행 컨텍스트는 자바스크립트의 동작 원리를 담고 있는 핵심 원리이다.따라서 실행컨텍스트는 아래 개념들의 동작원리를 담고있다.- 자바스크립트가 스코프를 기반으로 식별자와 식별자에 바인딩된 값을 관리하는 방식- 호이스팅이 발생하는 이유- 클로저의 동작 방식- 태스큐 큐와 함께 동작하는 이벤트 핸들러와 비동기 처리의 동작 방식실행 컨텍스트란?실행 컨텍스트는 소스코드를 실행하는 데 필요한 환경 정보를 모아놓은 객체이다.  즉, 실행 컨텍스트는 변수, 함수, 클래스 등의 이름인 식별자를 등록하고 관리하는 스코프라는 환경 정보를 구성하고, 컨텍스트를 콜 스택에 쌓아올려 가장 위에 있는 컨텍스트를 실행하여 코드의 실행순서를 보장한다.실행 컨텍스트가 생성되는 시점자바스크립트 엔진이 스크립트를 처음 실행할 때..