■
カテゴリ「一般」に「リテラル」を登録した奴がいるな。「一般」ウザい。
- ECMAScript - on Surface of the Depth -
そもそも「毎回関数リテラルを作らなくていい」 というprototypeの利点が無くなってしまいますし
- 継承 [ 2002/05/25 ](Virgo - JavaScript Diary)
勿論、JavaScriptにおいてもそういうスタンスは大切なことだと思いますが、だからと言って継承にnewすることが絶対条件なんてことは、OOPにおいてあってはならないことだと容易に分かります。
この場合そういう問題を置いておいても、僕なんかは必要もないのにインスタンスが生成されることにとても抵抗を感じます。
そこで今回の目的とは「SuperClassのインスタンス生成を回避しつつ継承のシステムを実現する」にしたいと思います。
酷く昔に読んで極めて参考になった記事だけれども。
必要もないのにインスタンスが生成される
点については、その継承システムでも変わりない。見る限りそのインスタンスがガーベジコレクタに回収されるわけでもなし。だってスコープが限定されるとはいえPrototype
内部プロパティがずーっと参照し続けるわけだから。「SuperClassのインスタンス生成を回避しつつ継承のシステムを実現する」というより、「SuperClassのコンストラクタ呼び出しを回避しつつ継承のシステムを実現する」といった方が良いかと思った。