Event Loop

- 자바스크립트 엔진은 stack, heap, queue, 마지막으로 Task Queue에 들어가는 task를 관리하는 Event loop가 있다.
- JS는 하나의 호출 스택을 사용한다.
- Heap에는 객체(인스턴스)가 할당된다, 대부분 더미로 이루어져 있다.
- 함수들은 Stack에 쌓이는데 비동기함수는 task Queue에 쌓인다. call stack이 모두 비어있으면 Queue가 실행된다.
Hoisting
- var로 변수를 선언한것과 function 으로 함수를 선언하면 실행될때 최상단으로 끌어올려져서 위치에 상관없이 사용할수 있다.
Closure
- 자바스크립트에는 없는 private 변수등을 만들수 있다. 함수를 사용해서 출력하고 값을 변경할 수 있는 변수를 만들 수 있다. 값을 안전하게 보호할 수 있다.
this
- 자바스크립트에서 모든 함수는 실행될 때마다 함수 내부에 this라는 객체가 추가된다.
- 객체 안에 메소드의 this는 객체의 this로 바인딩 된다.
- 객체 안에 메소드안에 메소드의 this는
- new 키워드를 통해서 호출된 함수 내부에서의 this는 객체 자신이 된다. this.name 이런식으로 변수를 추가할 수 있다.