그림 6 · V8이 객체를 담는 그릇들

const o = { x: 1 } 한 줄 뒤에서 조립되는 V8 내부 구조의 전경.

JSObject실제 인스턴스
[[인라인 값]] x: 1 map ▸ properties ▸ elements ▸
map ▸ "내 모양은?"
Map (히든클래스)모양 정보 · 공유됨
descriptors ▸ transition (모양 변화 경로) is_extensible
descriptors ▸ "꼬리표 묶음"
DescriptorArray프로퍼티별 꼬리표
key: "x" PropertyDetails ▾
PropertyDetails
kind: data│accessor attrs: 000
압축된 비트필드 (그림 4)
AccessorPair
get ▸ fn set ▸ fn
접근자일 때 값 자리에
elements ▸ "숫자 키는 따로"
elements인덱스 프로퍼티
[0][1][2] arr[0] 같은 숫자 키 저장소
우리가 obj.x = 1 한 줄을 쓸 때, V8은 이 그릇들을 조용히 조립한다.
값은 JSObject에, 꼬리표는 Map → DescriptorArray에 — 끝까지 분리돼 있다.