3

次の関数を使用して、Javascript 配列の特定のインスタンスの動作を変更しています。Closure Compiler のコードに注釈を付けるにはどうすればよいですか? http://code.google.com/closure/compiler/docs/js-for-compiler.htmlコンパイラでコードを実行すると、「JSC_USED_GLOBAL_THIS」エラーが発生します。

function listify(array) {
    array.toString = function() {
        return '[' + this.join(', ') + ']';
    };
    return array;
};

@extends または @constructor アノテーションを使用できるようには見えません。

ページで他のコードが使用されている場合に意図しない副作用が生じるため、グローバル Array プロトタイプを変更したくありません。また、 http://perfectionkills.com/how-ecmascript-5-still-does-not-allow-to-subclass-an-array/を読んだ後、私のアプローチは私のユースケースに最適だと思います。問題は、コンパイラに注釈を付ける方法がわからないことです

4

1 に答える 1