JS_prototype_4

dev.dave·2023년 7월 29일

Javascript

목록 보기
99/167

일단 함수를 만들면, (그 함수가 생성자든) ,
함수는 객체니까.

특히 함수객체는 함수를 생성할때, 그 함수의 원형(프로토타입)이 함께 만들어진다.

그러면 그 프로토 타입에는 뭐엇이 들어있냐면,
(뭐 당연히 원형의 정보가 들어있겠지,,,)

Prototype Object

Prototype Link


프로토타입 기반 프로그래밍은,

객채(오브젝트)의 원형인 ()프로토타입을 이용하여,
새로운 단일객체를 만들어내는 프로그래밍 기법이다.

즉, 복사(객체생성시 프로토타입(원형)을 이용한 복사를 말함)하고 확장(새로운객체 생성)하는 기법이다.


자바스크립트에서 사용되는 프로토타입이란 용어는
크게 두가지로 나눈다.

  • Prototype Property 가 가르키고있는 Prototype Object

  • 자기자신을 만들어낸 , 객체의 원형(즉, Prototype Link)


자바 스크립트의 모든 객체는
자신을 생성한 객체 원형에 대한
숨겨진 연결을 갖는다.

즉,
자기자신을 생성하기 위해 사용된
객체 원형을 프로토타입이라한다.

*자바스크립트의 모든 객체는
Object 객체의 프로토타입을 기반으로 확장 됨
그래서
이 연결의 상위를 들여다보면 맨위에
Object객체가 있고 Object객체의 프로토타입 -> Object가 있다.


proto

constructor 는


프로토타입 프로퍼티란?

  • 모든 함수객체의 Constructor 는
    prototype 이란 프로퍼티를 갖고있다.
    이 prototype 프로퍼티는
    객체가 생성될 당시
    만들어지는 ,객체 자신의 원형이 될 prototype 객체를 의미한다.

즉, 프로토타입 프로퍼티는 자신을 통해 만들어질 객체들이 원형으로 사용할 객체임.(자신을 만든 원형을 의미하는게 아님)

그니까

자기 자신의 원형객체를 바로 프로토타입 프로퍼티라고한다.
(자기자신의 원형은 뭔일을 하냐면, 그 원형을 보고 객체를 또 생성할수있다.)


-프로토타입 오브젝트는
디폴트로써
빈 객체를 의미한다.

프로토 타입이란
일단
객체는 어떻게 만들어지냐면
먼저
무조건 객체는 원형 프로토타입이 있어야 만들어지는데,

그럼

일단

순서가 어떻게 되냐면,

무조건

원조 프로토타입(원형이라고도한다)-> 1프로토타입 -> 1객체생성

이렇게

객체가 생성되려면 원형, 즉 프로토 타입을 카피해서 생성이 되는데,
순서는
1원형이있고 2원형이있으면 2원형이 1원형을 카피하고 그다음 2원형은 (자기원형을 보고) 객체가 생성이 되는거다.

즉, 자신의 프로토타입을 보고 객체가 생성이 되는거다.


자바스크립트의 모든 객체는
생성과 동시에
자기자신이 생성될 당시의 정보를 가지고있는,
프로토타입 오브젝트라는 새로운객체를 복사해서 만들어낸다.


proto 는 즉, 프로토타입 링크다
즉, 상위에서 물려받은 객체 프로토타입에 대한 정보가 담겨있다.
(이게 프로토타입의 체인이 되게하는거지)


profile
🔥개인 메모 / 다른블로그 자료 참조 / 다른블로그 자료 퍼옴 (출처표기) /여기저기서 공부 했던 내용 개인메모 & 참고 / 개인 기록 용도 블로그 입니다.🔥

0개의 댓글