- Just In Time(JIT) Compliation
- 자주 실행되는 코드를 감지해서, 기계어로 컴파일하고 이후 반복되는 로직에 대해 컴파일 버전을 사용
- Javascript => Bytecode(faster)
- Mark and Sweep GC
- Efficient Heap Memory Management
- 자바스크립트는 기본적으로 동적 타입 언어이기 때문에 특정 오브젝트가 얼마나 큰지 알 수 없음
데이터
- primitive한 데이터는 stack에 저장
- object와 array는 heap 에 저장
- 하지만 이 둘 모두 object 처럼 다뤄짐
- object는 2개의 array를 갖고 있음
- Name Properties
- {"a": 50, "b": 40}
- Elements(index based)
- {0: 30, 1: 20}
- ex) {"a": 50, "b": 50, 8: 90}
- {"a": 50, "b": 50} => named property
- {8:90} => elements
- Name Properties