
스코프란 값과 표현식이 보이는, 또는 참조될 수 있는 현재 실행 컨텍스트를 의미한다. 클로저란 함수가 선언된 시점에서의 렉시컬 스코프(주변 상태)를 기억하여 내부(자식)함수가 외부(부모)함수를 참조하여 접근할 수 있도록 하는 개념이다.

this는 현재 함수를 호출한 객체를 말한다. bind는 함수를 어떻게 호출했는지에 상관하지 않고 this값을 설정하도록 한다.

비동기란, 특정 작업이 끝날 때까지 기다리지 않고 다음 작업을 수행하는 프로그래밍을 말한다. 자바스크립트는 기본적으로 동기적이고 싱글스레드 언어이지만, 비동기적으로 작동할 수 있는 언어이다.

자바스크립트의 실행 컨텍스트, 콜스택과 메모리 큐, 그리고 이벤트 루프를 통해 동작원리를 알아보자.