client
javascript prototype (프로토타입)
void
2020. 6. 30. 10:00
사전적의미
원초적 형태, 기초 또는 표준, 제품의 원형
고유명사로서 의미
js의 개념이라기보단 함수형프로그래밍에 있는 개념이라 esmascript에 제대로 기록되어있지않다
프로토타입 기반 프로그래밍
프로토타입 기반 프로그래밍은 객체지향 프로그래밍의 한 형태의 갈래로 클래스가 없고, 클래스 기반 언어에서 상속을 사용하는 것과는 다르게, 객체를 원형(프로토타입)으로 하여 복제의 과정을 통하여 객체의 동작 방식을 다시 사용할 수 있다. 프로토타입기반 프로그래밍은 클래스리스(class-less), 프로토타입 지향(prototype-oriented) 혹은 인스턴스 기반(instance-based) 프로그래밍이라고도 한다.
js에서 어떻게 동작할까?
constructor를 new 연산자로 instance를 만들면,
prototype이라는 프로퍼티가 __proto__라고 하는 프로퍼티로 전달된다. (같은 객체를 참조함)
그런데 __proto__는 내부 프로퍼티에 접근할 때 __proto__를 생략할 수 있다.