JavaScript プロトタイプでのオブジェクト参照と継承の保持
JavaScript プロトタイプと継承を使用して構築された大規模なアプリケーションを編成する場合、コード構造を維持することが重要になります。オブジェクトの参照と継承が損なわれていないことを確認しながら。たとえば、next()、prev()、bindControls() などのさまざまな関数を備えたクラス 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 中国語 Web サイトの他の関連記事を参照してください。