언더스코어가 두번 나오기 때문에 던더프로토라고도 불리웁니다. 이 던더프로토는 브라우저에서 비표준으로 제공을 했던 프로퍼티입니다.
여기서 비표준이란 언어자체에서 제공을 하는 것이 아니라 브라우저에서 별도로 제공을 하며 생겨나게 됩니다.
array.prototype
을 알고 싶을 때 또는 array['prototype']
을 조작하고 싶을 때 이 __proto__
을 사용할 수 있습니다. 이 __proto__
를 이용해 프로토타입에 대신 접근을 하도록 돕는 것이니다. 자바스크립트에의 getter
와 setter
와 비슷하다고 생각하시면 되겠습니다.
하지만 이 _proto__의 사용은 지양합니다. 대신
Object.getPrototypeOf또는
Object.setPrototypeof`을 이용하는 것을 권장합니다.
이들을 es2015에서 표준화 되었으며 이를 사용해 권장되는 표준에 가까운 프로토타입에 접근을 할 수 있습니다. 아래와 같이 코드를 작성해 사용을 할 수 있습니다.
const obj = {}
Object.getPrototypeOf(obj)
던더프로토는 객체나 객체에서 생성된 인스턴스에 직접 접근을 하는 getter와 setter처럼 사용을 할 수 있는 프로토타입의 접근 제어자입니다. 하지만 비표준이기 때문에 사용하지 않는 것이 좋으며, 표준 문법인 Object.getPrototypeOf
또는 Object.setPrototypeof
을 이용하는 것을 권장합니다.
참고자료