본문 바로가기
컴퓨터/Front (Html, JS)

[JavaScript] Prototype이 뭘까용(1) (난 length 를 만든적이없는데 배열에 써지네?...)

by 버니케이 2023. 6. 25.
반응형

시작하기 전…..

 

참조형 데이터 타입을 찍어볼께요

여기 안에 prototype 이라는 애가 있네용

잘 살펴보면 객체 안에는 Object, 배열 안에는 Array(0) 이 라고 적혀있습니댜

 

 

 

 

object 의 prototype을 펼쳐보면

뭔가 많이 나옵니다.

toString, valueOf 같은 익숙한 함수도 보이네요

 

 

 

array 의 prototype를 펼쳐보면

배열에서 사용할 수 있는 함수들이 보이고

맨 마지막에 또 prototype Object 가 보이네요!

 

그래서 prototoye 이 뭐냐면요!!

 


 

Prototype

부모의 정보

 

Protoype 특징

1. 자식이 부모의 데이터를 사용 할 수 있습니다.

2. 자식이 부모의 부모의 데이터를 사용할 수 있습니다.

3. 자식이 부모의 부모의 부모의….. 부모의 데이터를 사용할 수 있습니다.

 

 

Protoype 사용해보기

 

배열을 만들어 보겠습니다.

이렇게요

var arr1 = new Array()

arr1 = [1,2,3]

 

뭔가 생긴게 그... 생성자 같지 않나요??

맞아요!

배열은 사실 Array 라는 이름의 생성자로부터 만들어지는 거랍니다!!!

 

 


상속!

arr1.length

를 찍어보면 3이 나옵니다.

당연하긴 한데... 생각해보면 우리는 length 라는애를 만든적이없어요

 

 

근데 prototype 특징이 뭐라구 했죠??

자식이 부모의 데이터를 사용할 수 있다는거였어요

아 그럼 length 라는 애는 arr1의 부모인 Array 생성자 안에 있나부네요??

 

만약 Array 에 없다면, Array 의 부모에 있을거고, 만약 그 부모에도 없다면

 그 부모의 부모의... 아무튼 어딘가의 조상 안에 있겠네요 맞죠??

이게 바로 상속입니다.

반응형

댓글