개발/Web
프로토타입(prototype)
Juyeon Ji
2020. 2. 21. 09:25
- JavaScript는 클래스 개념이 없음
- 기존 객체를 복사(cloning)하여 새로운 객체를 생성
(포로타입 기반 언어: 객체 원형인 프로토타입을 이용하여 새로운 객체를 만듬)
- 프로토타입 구성: 프로토타입 속성(프로토타입 객체를 참조) + 숨은 링크(객체 멤버인 프로토 속성이 참조)
- JavaScript에서 기본데이터 타입을 제외한 모든 것이 객체
- 원형 프로토타입 객체를 이용하여 객체를 생성
= 객체 생성시 객체 내부에 __proto__속성에 원형 프로토타입 객체를 참조하는 숨겨진 링크
상속?
클래스 개념이 있는 언어에서는 코드를 상속받아 재활용할 수 있음
1. classical 방식: new 사용
2. prototypal 방식: Object.create()를 사용