JavaScript 문법 - prototype 2편

백엔드·2020년 11월 20일
0

Javascript 문법

목록 보기
12/16

1편에서 언급했듯이, __proto__ property가 생략 가능하다고 하였는데 사실인지 살펴보자

__proto__의 속성을 보면 constructor가 있는 것을 확인할 수 있다.

👀 그러나 배열에는 분명히 constructor라는 property가 없음에도 불구하고 Array()가 출력된다.

배열의 __proto__.constructor도 위와 같이 Array()가 출력된다.

이로써 __proto__ property가 생략 가능 하다는 것을 알 수 있다.


좀 더 구체적인 예제를 살펴보자 🕶

gomu와 gomuClone들은 모두 Person의 instance가 된다.

이유는 ❓❕

1. gomu instance의 __proto__ property의 constructor는 Person(n,a)

2. __proto__ 는 생략 가능하다

3. Object.getPrototypeOf()의 정의🎓 

   Object.getPrototypeOf() 메서드는 지정된 객체의 프로토타입

   (가령 내부 [[Prototype]] 속성값)을 반환합니다
   
   📌 즉, 생성자 함수의 prototype에 접근 가능하다❗❕
   
   gomu의 prototype 속성값이 gomuProto에 할당됨
   

4. gomuClone3 : 즉 gomuProto의 constructor는 Person(n, a)이다.

5. gomuClone4 : 생성자 함수의 prototype의 constructor는 자기자신이다.


📝 정리

생성자 함수의 prototype에 접근이 가능하다❗

생성자 함수에 접근 할 수 있다❕
profile
백엔드 개발자

0개의 댓글

관련 채용 정보