js prototype 예제

참고: 개체의 프로토타입(Object.getPrototypeOfOf(obj)을 통해 사용 하거나 더 이상 사용되지 않는 __proto___ 속성을 통해 사용할 수 있는 개체의 프로토타입과 생성자 함수의 프로토타입 속성간에 차이가 있다는 것을 이해하는 것이 중요합니다. 전자는 각 인스턴스의 속성이고 후자는 생성자의 속성입니다. 즉, Object.getPrototypeOf(새 Foobar()))는 Foobar.prototype과 동일한 개체를 나타냅니다. Object.create를 사용하여 예제를 다시 한 번 개선해 보겠습니다. 간단히 말해 Object.create를 사용하면 실패한 조회에서 다른 개체에 위임하는 개체를 만들 수 있습니다. 다르게 말하면 Object.create를 사용하면 개체를 만들 수 있으며 해당 개체에 실패한 속성 조회가 있을 때마다 다른 개체에 해당 개체에 속성이 있는지 확인할 수 있습니다. 그것은 많은 단어였습니다. 몇 가지 코드를 보자. 1.

Fruit.prototype = 새로운 식물 (); 이는 과일 프로토타입에 새 식물 인스턴스를 할당하고 Plant 클래스의 모든 특성과 메서드를 상속한다는 것을 의미합니다. Fruit.prototype = Plant.prototype; 당신은 과일 프로토 타입에 식물 시제품이 아닌 식물 프로토 타입을 할당하고 있습니다. 위에서 언급했듯이 각 개체의 프로토타입은 함수의 프로토타입 오브젝트에 연결됩니다. 함수의 프로토타입을 변경하면 새 개체만 변경된 프로토타입에 연결됩니다. 다른 모든 기존 개체는 여전히 이전 함수 프로토타입에 연결됩니다. 다음 예제에서는 이 시나리오를 보여 줍니다. 위의 이미지와 같이 Human 생성자 함수를 사용하여 생성된 person1 개체에는 생성자 함수의 프로토타입 개체를 가리키는 dunder proto 또는 __proto__ 속성이 있습니다. 프로토래빗은 모든 토끼가 공유하는 속성에 대한 컨테이너 역할을 합니다. killerRabbit과 같은 개별 토끼 오브젝트에는 해당 유형인 자신에게만 적용되는 속성이 포함되어 있으며 프로토타입에서 공유 속성을 파생합니다.

Obj = 함수() {}; Obj.prototype.name = `테스트`; var 인스턴스 = 새 Obj(); SecondClass.프로토타입 = 새 퍼스트 클래스(); 메서드 및 속성 상속 때로는 프로토타입 키워드를 사용하여 속성을 추가하고 프로토타입 키워드 없이 속성을 추가하는 경우도 있습니다. pro[erties and method]를 추가할 때 키워드 프로토이프를 사용하는 방법을 알고 싶습니다. 프로토타입을 사용할 기준이 있으시나요? 개체 리터럴을 통해 생성자(생성자)를 설정할 수 있는 방법이 있습니까? 또한 개체 리터럴에 프로토 타입을 사용할 수 있습니까? 그렇다면 이것/이 것들은 어떻게 생겼을까요? JavaScript에서 개체를 만들 때 JavaScript 엔진은 dunder proto라고 하는 새로 생성된 개체에 __proto__ 속성을 추가합니다.