본문 바로가기
개발/Javascript

프로토타입 두서없이 정리

by 안뇽! 2022. 1. 4.
반응형

모든 JS객체는 생성된 객체의 부모객체의 원형이 되는 prototype.object를 가진다.

prototype.object와 생성된 객체의 참조를 이어주는 링크는 __proto__인데, prototype링크라고 한다.

 

모든 객체는 프로토타입링크를 통해 object.prototype과 연결되어 있다.

 

만약 어떤 객체 내부에 존재하지 않는 속성에 접근하고자 한다면, 프로토타입 링크를 타고 거슬러 올라가며 해당 메소드를 찾는다.

만약 거슬러 올라가는 도중에 해당 메소드를 찾으면 해당 메소드를 반환하고 최상단 object.prototype에서도 찾지 못한다면 undefined를 반환한다. 이러한 과정을 통칭하여 prototype chaining이라 한다.

 

let obj = {} 
 
let obj = new Object()

둘 다 같은 의미이다.

사실 빈 객체를 할당하는 것 조차, new 키워드를 이용하여 Object 생성자 함수를 호출하는 것이다.

 

함수가 정의될 땐(화살표함수 제외) 1) constructor 자격이 부여되어, 인스턴스를 가질 수 있게 되고, 2) 해당함수의 prototype object를 생성하게 된다.

반응형

'개발 > Javascript' 카테고리의 다른 글

JSON에서는 undefined를 사용할 수 없다.  (0) 2022.01.28
Class는 Object 찍어내는 기계(코딩애플)  (0) 2022.01.15
DOM  (0) 2022.01.01
Null, Undefined, Undeclared 차이  (0) 2021.12.30
Javascript와 Node.js의 차이  (0) 2021.12.30