> 웹 프론트엔드 > JS 튜토리얼 > JavaScript의 `.prototype`은 클래스 없이 상속을 어떻게 활성화합니까?

JavaScript의 `.prototype`은 클래스 없이 상속을 어떻게 활성화합니까?

Patricia Arquette
풀어 주다: 2024-12-29 00:18:14
원래의
490명이 탐색했습니다.

How Does JavaScript's `.prototype` Enable Inheritance Without Classes?

JavaScript .prototype: 클래스 없이 상속 풀기

JavaScript는 클래스 기반 언어와 달리 프로토타입 기반 패러다임을 수용합니다. 이 접근 방식은 클래스를 명시적으로 정의하지 않고도 동적 개체 생성 및 속성 상속을 촉진합니다. 이 프로그래밍 모델을 탐색하려면 수수께끼의 .prototype 속성을 이해하는 것이 중요합니다.

객체가 클래스라고 알려진 청사진에서 인스턴스화되는 기존 상속과 달리 JavaScript는 다른 객체에서 직접 객체를 생성합니다. .prototype 속성은 이 프로세스에서 중추적인 역할을 하며 새 인스턴스에 대한 청사진 역할을 합니다.

다음 코드 조각을 고려하세요.

var Person = { name: "John" };
var person2 = new Person;
person2.getName = function() { alert(this.name); };
로그인 후 복사

이 예에서 Person은 다음을 나타내는 객체입니다. 이름 속성을 가진 사람. new Person 줄은 Person에서 name 속성을 상속하는 새 개체 person2를 생성합니다.

핵심 통찰력은 .prototype 속성에 있습니다. JavaScript의 모든 객체에는 객체 자체인 .prototype 속성이 있습니다. 새 개체가 생성되면 해당 개체의 .prototype 속성은 해당 개체가 생성된 개체를 가리킵니다.

이 예에서 person2의 .prototype 속성은 Person을 참조합니다. 이를 통해 person2는 Person.prototype에 정의된 속성과 메서드를 상속받을 수 있습니다.

샘플 코드는 person2.prototype에 getName 함수를 동적으로 정의하여 이러한 상속을 보여줍니다. person2는 Person에서 상속되므로 추가된 기능에 액세스할 수 있습니다.

JavaScript의 프로토타입 기반 상속은 효율적인 메모리 활용을 가능하게 하고 코드 중복을 줄이며 동적 객체 조작을 용이하게 합니다.

위 내용은 JavaScript의 `.prototype`은 클래스 없이 상속을 어떻게 활성화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿