[Javascript] __proto__ (던더프로토)

youngseo·2022년 2월 15일
0

Javascript

목록 보기
16/46
post-thumbnail

__proto__이란?

언더스코어가 두번 나오기 때문에 던더프로토라고도 불리웁니다. 이 던더프로토는 브라우저에서 비표준으로 제공을 했던 프로퍼티입니다.

여기서 비표준이란 언어자체에서 제공을 하는 것이 아니라 브라우저에서 별도로 제공을 하며 생겨나게 됩니다.

array.prototype을 알고 싶을 때 또는 array['prototype']을 조작하고 싶을 때 이 __proto__을 사용할 수 있습니다. 이 __proto__를 이용해 프로토타입에 대신 접근을 하도록 돕는 것이니다. 자바스크립트에의 gettersetter와 비슷하다고 생각하시면 되겠습니다.

하지만 이 _proto__의 사용은 지양합니다. 대신 Object.getPrototypeOf또는Object.setPrototypeof`을 이용하는 것을 권장합니다.

Object.getPrototypeof() 와 Object.setPrototypeof()

이들을 es2015에서 표준화 되었으며 이를 사용해 권장되는 표준에 가까운 프로토타입에 접근을 할 수 있습니다. 아래와 같이 코드를 작성해 사용을 할 수 있습니다.

const obj = {}

Object.getPrototypeOf(obj)

정리

던더프로토는 객체나 객체에서 생성된 인스턴스에 직접 접근을 하는 getter와 setter처럼 사용을 할 수 있는 프로토타입의 접근 제어자입니다. 하지만 비표준이기 때문에 사용하지 않는 것이 좋으며, 표준 문법인 Object.getPrototypeOf 또는 Object.setPrototypeof을 이용하는 것을 권장합니다.


참고자료

  • MDN
  • 장현석 강사님의 강의
  • 코어자바스크립트

0개의 댓글