- 자바스크립트는 객체 기반의 스크립트 프로그래밍 언어
- 느슨한 타입의 동적 언어
변수 선언 방식
- var: 중복 선언 가능, 재할당 가능(함수 레벨 스코프)
- let: 중복 선언 불가, 재할당 가능(블록 레벨 스코프)
- const: 중복 선언 불가, 재할당 불가(블록 레벨 스코프)
자바스크립트 타입
원시 타입: Boolean, String, Number, null, undefined, Synbol(불변성 지님)
참조 타입: Object, Array, fuction,class

데이터 저장 순서
원시 타입은 Call Stack에 저장
참조 타입은 Heap에 저장하고 Heap주소를 Callstack에 저장
Event Loop
Event Loop구조

- 메모리 힙(Memory Heap): 메모리 힙은 컴퓨터가 정보를 저장하는 곳 우리가 만드는 객체, 배열, 함수 등의 데이터가 저장되는 공간
- 콜 스택(Call Stack): 할 일 목록. 함수를 호출하게 되면 해당 함수의 정보가 콜 스택에 쌓임, 먼저 들어간 것이 마지막에 나오는FILO구조 Web APIs와 Callback Queue는 자바스크립트 엔진 외부에서 관리됨.
- Web APIs : 웹 API는 브라우저가 제공하는 다양한 기능들. ex) HTTP 요청, setTimeout 등 이런 작업들은 주로 비동기적으로 처리가 되므로 완료 시점을 정확히 알 수 없음.
- Callback Queue: 콜백 큐는 비동기 작업의 결과나 나중에 실행되어야 하는 작업들이 대기하는 공간. 먼저 들어간 작업이 먼저 나가는FIFO 구조입니다. 여기에 있는 콜백 함수들은 콜스택이 비어졌을 때 먼저 대기열에 들어온 순서대로 수행됨.
확인 가능 사이트:http://latentflip.com/loupe/