결론 부터 말하자면 Prototype과 __proto__가 지칭하는 객체는 동일하며 ( 글쓴이가 가정한 상황 속에서는 ) prototype은 생성자 함수의 property에서 그리고 __proto__ 는 생성자 함수를 통해 생성된 새로운 객체의 property에서 확인 할 수 있다.
function car(brand,price){
this.brand=brand
this.price=price
}
위와 같이 car라는 function을 정의하는 순간 자바스크립트 내에서는 car라는 객체가 생성되는 동시에 ( 자바스크립트 에서 함수도 객체 ) car.prototype이라는 객체도 생성됩니다. 그리고 그 prototype 객체에는 constructor라는 property가 있고 그 property값은 함수를 가리키는데 그 함수는 우리가 정의한 car를 지칭합니다. ( 하단 console 확인 )
let myFirstCar = new car('kia',16000);
상단 code에 더하여 위와같이 new연산자와 생성자 함수 ( 여기서는 car 함수 ) 를 통해서 새로운 객체를 만든 후 console을 찍어 본 결과 아래와 같이 __proto__ 가 있음을 확인 할 수 있습니다. 여기서 __proto__ 가 지칭하는 것은 생성자 함수 ( car ) 의 prototype과 동일한 객체입니다.
'⭐FE' 카테고리의 다른 글
Vite+React+Ts 프론트 환경설정 (0) | 2023.11.12 |
---|---|
storybook 파악하기 (0) | 2023.09.17 |
[Typescript] Typescript 환경을 구성해보자 (0) | 2022.07.10 |
[Javascript] es6 import, export 예시 (0) | 2022.07.10 |
[React] React Form library Formik 학습 (0) | 2022.06.24 |