개발/Web

프로토타입(prototype)

Juyeon Ji 2020. 2. 21. 09:25

- JavaScript는 클래스 개념이 없음

- 기존 객체를 복사(cloning)하여 새로운 객체를 생성
   (포로타입 기반 언어: 객체 원형인 프로토타입을 이용하여 새로운 객체를 만듬)

- 프로토타입 구성: 프로토타입 속성(프로토타입 객체를 참조) + 숨은 링크(객체 멤버인 프로토 속성이 참조)

- JavaScript에서 기본데이터 타입을 제외한 모든 것이 객체

- 원형 프로토타입 객체를 이용하여 객체를 생성

 

= 객체 생성시 객체 내부에 __proto__속성에 원형 프로토타입 객체를 참조하는 숨겨진 링크

 

상속?

클래스 개념이 있는 언어에서는 코드를 상속받아 재활용할 수 있음

1. classical 방식: new 사용

2. prototypal 방식: Object.create()를 사용