클로저는 외부 변수를 기억하고 이 외부 변수에 접근할 수 있는 함수를 의미합니다
호이스팅이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다.
앞서 다룬 호이스팅에서 let, const는 호이스팅 대상이지만 초기화 전에 접근할 수 없다고 했는데요. 이 접근할 수 없는 구간을 TDZ라고 합니다.
객체가 메소드, 속성 상속받기 위한 템플릿입니다. prototype에 속성과 메서드들을 정의하고 이를 상속받아 쓰는 것이죠.
__proto__는 객체 속성인 [[prototype]]의 getter, setter입니다. 생성자 함수의 prototype 속성에서 왔죠.
자바스크립트는 단일 스레드입니다. 한 번에 하나의 작업을 처리하죠. 작업이 금방 끝나면 상관 없지만, 오래 걸리면 끝나기까지 기다려야 합니다. 이러한 기다림을 해결하기 위해, 브라우저는 Web API를 제공합니다.
자바스크립트는 메모리 관리를 알아서 합니다. 그렇다면 어떻게 필요없는 것을 찾아 정리하는 걸까요?