[JavaScript] prototype 과 __proto__ 의 차이 - 간단 설명

Narcoker·2023년 6월 13일
0

JavaScript

목록 보기
33/55

핵심 설명

prototype은 생성자 함수의 식별자에서 접근할 때 사용하는 것이고,

__proto__ 는 생성자 함수로 만든 인스턴스의 식별자로 접근할 때 사용하는 것이다.

간편하게 외우기 : prototype은 하위, __proto__ 는 상위

prototype

생성자 함수가 생성될 때 자동으로 만들어지는 객체이다.

이 객체안에 있는 프로퍼티와 함수들은 인스턴스에게 상속되어지는 것들이다.

__proto__

생성자 함수로 만들어진 인스턴스는 생성자 함수와 연결되는 것이 아니라 prototype과 연결이 된다.
이 연결 구조를 가지고 있는 것이 __proto__ 이다.

인스턴스는 이 연결(프로토타입 체인)으로써 prototype의 프로퍼티와 메서드에 접근할 수 있다.

이러한 메커니즘을 상속이라고 한다.

Object.setPrototypeOf()

부모 객체를 지정하는 메서드

일반적으로 생성자 함수의 prototype과 연결한다.

let obj = {0: 10, length: 1};
Object.setPrototypeOf(obj, Array.prototype)
profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글