prototype?

dovra_·2022년 4월 16일
0

TIL

목록 보기
45/52

prototype

프로토타입 뜻 -> 원형..

..?
일단 정의말고 이해해보기

function machine () {
this.a = "커피추출"
this.b = "머신청소"
}

var cafe = new machine()

하면 cafe를 찍었을때, 부모인 머신이 가지고 있는 a,b를 자식인 cafe도 가지고있다.

같은 기능으로 사용할 수 있는 프로토타입,
프로토타입도 {object}자료 이기때문에 데이터 추가가 가능하다

machine.prototype.name = '라떼'
이렇게 추가하면,
cafe에도 .name에도 추가된다. -> cafe.name하면 라떼가 찍힌다.

근데! 커피추출, 머신청소는 자식도 그대로 상속되서 가지고 있지만 프로토타입으로 추가된 데이터는 부모만 가지고 있는다.

*prototype chain - (자식이 부모를 참조할 때, 부모에게도 없으면 부모의 부모도 참조하고 그 부모도 참조하고 계속 참조하는 것)

그래서 프로토타입이 뭐라고??

개발자도구에서 array.prototype을 찍어보면 어레이에서 사용할 수 있는 여러가지 메쏘드나 프로퍼티들이 나온다.

즉! 부모 객체의 프로퍼티나 메쏘드를 상속받아 사용할 수 있는데 부모 객체를 프로토타입이라 한다!

profile
프리비엣!

0개의 댓글