JavaScript의 프로토타입, 객체 프로토타입, 프로토타입 상속 및 프로토타입 체인

JavaScript에서 프로토타입은 객체 간 상속 및 공유 속성을 구현하는 데 사용되는 객체입니다. JavaScript는 프로토타입 기반 프로그래밍 언어로, 각 객체에는 프로토타입이 있고, 프로토타입은 자체 프로토타입을 갖고 프로토타입 체인을 형성할 수 있습니다.

이러한 개념을 하나씩 설명하자면 다음과 같습니다.

  1. 객체 프로토타입 : 모든 JavaScript 객체(null 및 unjust 제외)에는 __proto__객체의 프로토타입을 참조하는 속성이 있습니다. Object.getPrototypeOf(obj)객체의 프로토타입을 얻는 데 사용할 수도 있습니다 . 객체 프로토타입은 객체의 상위 객체 또는 객체 생성자의 프로토타입을 가리킵니다. 예를 들어 객체가 있는 경우 의 obj프로토 타입이 obj.__proto__참조됩니다 obj.

  2. 프로토타입 상속 : JavaScript의 프로토타입 상속은 객체의 프로토타입을 다른 객체로 지정함으로써 달성됩니다. 객체의 속성에 접근할 때 객체 자체에 해당 속성이 없으면 JavaScript는 해당 속성이 있는 프로토타입 객체를 찾을 때까지 객체의 프로토타입 체인을 검색합니다. 이는 프로토타입 객체로부터 속성을 상속받는 효과를 얻습니다. 프로토타입 체인에 해당 속성이 있는 개체가 없으면 해당 속성 값은 정의되지 않습니다. 프로토타입 상속을 통해 메서드와 속성을 공유할 수 있고 객체 간의 계층적 관계를 구현할 수 있습니다.

  3. 프로토타입 체인(Prototype chain) : 프로토타입 체인은 일련의 객체로 구성된 연결리스트 구조로, 각 객체는 프로토타입을 가지며, __proto__해당 프로토타입은 속성을 통해 접근할 수 있습니다. 객체의 속성에 접근하면 JavaScript는 먼저 객체 자체를 살펴보고, 속성이 없으면 프로토타입 체인을 따라 올라가서 속성을 찾거나, 속성이 없으면 프로토타입 체인의 끝(null)에 도달합니다. 아직 발견되지 않았습니다. 정의되지 않은 상태를 반환합니다. 이는 객체 프로토타입의 체인을 형성합니다.

JavaScript의 프로토타입, 객체 프로토타입, 프로토타입 상속 및 프로토타입 체인은 객체 지향 프로그래밍을 실현하는 데 중요한 메커니즘입니다. 프로토타입 체인을 통해 객체 간의 상속 및 공유 속성이 달성될 수 있어 코드가 더욱 효율적이고 유연해집니다.

추천

출처blog.csdn.net/wuzhangting/article/details/132445592