toString
は暗黙的に呼び出し可能であるため、Closure コンパイラが の結果がMyObject
文字列に強制されないことを証明できない限り、それを保持する必要があります。
いつでも明示的なデバッグ コードとしてマークできます。
this.test = 4;
if (goog.DEBUG) {
this.toString = function () { return "test object"; };
}
次に、非デバッグビルドで、コンパイルします
goog.DEBUG = false;
http://closure-library.googlecode.com/svn/docs/closure_goog_base.js.source.htmlを参照してください。
/**
* @define {boolean} DEBUG is provided as a convenience so that debugging code
* that should not be included in a production js_binary can be easily stripped
* by specifying --define goog.DEBUG=false to the JSCompiler. For example, most
* toString() methods should be declared inside an "if (goog.DEBUG)" conditional
* because they are generally used for debugging purposes and it is difficult
* for the JSCompiler to statically determine whether they are used.
*/
goog.DEBUG = true;