<aside> <img src="/icons/dialogue_orange.svg" alt="/icons/dialogue_orange.svg" width="40px" />
내부 슬롯 $^{internal~slot}$ 과 내부 메서드 $^{internal~method}$
자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사용하는 의사 프로퍼티 $^{pseudo~property}$ 와 의사 메서드 $^{pseudo~method}$
</aside>
그림 16-1 내부 슬롯과 내부 메서드
<aside>
예를 들어, 모든 객체는 [[Prototype]]이라는 내부 슬롯을 갖는다. 내부 슬롯은 자바스크립트 엔진의 내부 로직이므로 원칙적으로 직접 접근할 수 없지만 [[Prototype]] 내부 슬롯의 경우,__proto__를 통해 간접적으로 접근할 수 있다.
</aside>
[ 예제 16-01 ]
const o = {};
// 내부 슬롯은 자바스크립트 엔진의 내부 로직이므로 직접 접근할 수 없다.
o.[[Prototype]] // → Uncaught SyntaxError: Unexpected token '['
// 단, 일부 내부 슬롯과 내부 메서드에 한하여 간접적으로 접근할 수 있는 수단을 제공하기는 한다.
o.__proto__ // → Object.prototype