バニラのJavaScriptも使用しているため、クロージャーがすべてのシンボルの名前を変更しないように、JavaScriptに注釈を付けようとしています。
/**
* @constructor
* @expose
* @type{foo}
*/
foo = function (el, args) {
"use strict";
var s = "Hello World";
/*
* @expose
* @this {foo}
* @type {function}
*/
this.introduce = function () {
return s;
};
};
ただし、高度な最適化を使用してクロージャーコンパイラーを実行すると生成される出力は
foo = function() {
this.a = function() {
return"Hello World"
} };
これは外部の JavaScript から呼び出されるため、introduced という名前を保持するようクロージャーに依頼するにはどうすればよいですか。