JavaScript 프로토타입에서 객체 참조 및 상속 유지
JavaScript 프로토타입과 상속을 사용하여 구축된 대규모 애플리케이션을 구성할 때 코드 구조를 유지하는 것이 중요합니다. 객체 참조와 상속이 그대로 유지되도록 보장합니다. 예를 들어 next(), prev() 및 binControls()와 같은 다양한 기능을 가진 Carousel 클래스가 있는 경우 다음과 같이 구성할 수 있습니다.
Carousel.prototype.controls = { next: function () { ... } , prev: function() { ... }, bindControls: function () { .. } }
그러나 이 접근 방식은 메소드가 호출되는 객체의 컨텍스트를 보유하는 "this"의 값입니다. 이 문제를 해결하기 위해 컨트롤을 별도의 클래스로 생성하는 것을 고려할 수 있습니다.
var Controls = function (controllable_object) { this.ref = controllable_object; }; Controls.prototype.next = function () { this.ref.foo(); }
이렇게 하면 BigCarousel과 같은 파생 클래스에서 next() 함수를 재정의하는 경우에도 원래 개체에 대한 참조가 유지됩니다.
BigCarousel.prototype.next = function () { this.controls.next(); }
또는 종속성 주입 접근 방식을 채택하여 논리:
var Controls = function () {}; Controls.prototype.next = function (ref) { ref.foo(); } var Carousel = function () { this.controls = new Controls(); };
이 방법은 나중에 사용자 정의 컨트롤러를 추가할 때 더 큰 유연성을 제공합니다. 문제를 분리함으로써 객체 참조와 상속을 유지하면서 깔끔하고 확장 가능한 코드베이스를 유지할 수 있습니다.
위 내용은 JavaScript 프로토타입은 대규모 애플리케이션에서 객체 참조 및 상속을 어떻게 유지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!