Prototype

Jung taeWoong·2021년 5월 10일
0

javascript

목록 보기
1/8
post-thumbnail

프로토타입(Prototype)이란..?

프로토타입은 원래의 형태 또는 전형적인 예, 기초 또는 표준이다.
자신을 만들어낸 객체의 원형

  • 자바스크립트는 프로토타입 기반으로 상속을 구현하여 불필요한 중복을 제거
  • 생성자 함수가 생성한 모든 인스턴스가 공통적으로 사용한 프로퍼티나 메소드를 프로토타입에 미리 구현해 놓음으로써 또 구현하는 것이 아닌 상위 객체인 프로토타입의 자산을 공유하여 사용하는 것
const x = {};
const y = {};
console.log(x.__proto === y.__proto); 
// 동일한 Object를 상속받기 때문에 true

Prototype Chain

  • 객체의 프로퍼티에 접근하려고 할 때 객체에 접근하려는 프로퍼티가 없으면 접근자 프로퍼티가 가리키는 링크를 따라 상위 프로토타입의 프로퍼티를 순차적으로 검색하는 것

Class (프로토타입의 연쇄작용)

  • 자바스크립트에서 class는 디자인 패턴의 일종 (다른 언어들과 의미가 다름)
  • 자바스크립트 class는 복사를 의미 (프로토타입의 연쇄작용)
  • 인스턴스화하면 class -> instance로 복사가 일어난다.
  • 클래스를 상속하면 역시 parent -> child 방향으로 복사된다.
  • 다형성은 얼핏 보면 parent -> child 방향의 상대적 레퍼런스가 아니라 복사 작업의 결과물
profile
Front-End 😲

0개의 댓글