2

Closure Compiler で動作する JavaScript のクラスのような継承の実装はありますADVANCED_OPTIMIZATIONSか?

John Resig の実装はそうではないようです。

4

2 に答える 2

0

コンパイラは現在、「goog.inherits」とプロトタイプへの直接割り当てのみを認識します。

Child.prototype = new Parent();

Object.create メタファーは明らかな追加ですが、まだ行われていません。それ以外のものを認識させるには、新しいコーディング規約クラスを定義するか (型チェック中に goog.inherits を認識する方法)、コンパイラを変更する必要があります (Object.create で必要になる場合があります)。

Object.create のサポートが必要な場合は、ここで問題を報告してください。

https://code.google.com/p/closure-compiler/issues/list

于 2013-03-25T16:45:06.763 に答える
0

これは、継承をセットアップするための最も単純でかなり一般的なアプローチの 1 つです。

function Parent() {}

function Child() {}

Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;

クロージャーコンパイラーで問題なく動作します。Object.createが適切に認識されているかどうかはわかりませんがgoog.inherits、基本的に同じことを行うクロージャ ライブラリからの実装を見てください。

于 2013-03-22T09:18:01.670 に答える