Closure Compiler で動作する JavaScript のクラスのような継承の実装はありますADVANCED_OPTIMIZATIONS
か?
John Resig の実装はそうではないようです。
Closure Compiler で動作する JavaScript のクラスのような継承の実装はありますADVANCED_OPTIMIZATIONS
か?
John Resig の実装はそうではないようです。
コンパイラは現在、「goog.inherits」とプロトタイプへの直接割り当てのみを認識します。
Child.prototype = new Parent();
Object.create メタファーは明らかな追加ですが、まだ行われていません。それ以外のものを認識させるには、新しいコーディング規約クラスを定義するか (型チェック中に goog.inherits を認識する方法)、コンパイラを変更する必要があります (Object.create で必要になる場合があります)。
Object.create のサポートが必要な場合は、ここで問題を報告してください。
これは、継承をセットアップするための最も単純でかなり一般的なアプローチの 1 つです。
function Parent() {}
function Child() {}
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;
クロージャーコンパイラーで問題なく動作します。Object.create
が適切に認識されているかどうかはわかりませんがgoog.inherits
、基本的に同じことを行うクロージャ ライブラリからの実装を見てください。