2011-07-11 10 views
1

との型としてクラスを定義する:私はこのようなコードをお持ちの場合は、Googleの閉鎖

var x = {}; 

/** 
* @constructor 
* ??? 
*/ 
x.MyClass = function() { 

}; 

x.MyClass.prototype = { 

    hello: "Hello World", 

    /** 
    * @return {x.MyClass} 
    */ 
    y: function() { 
     console.log(this.hello); 
     return this; 
    } 

}; 

クロージャーが、これはx.MyClassが定義された型ではないであることを私に伝えます。どのように定義された型にすることができますか?

+0

あなたはX = {} '' VARなければならないのはなぜ?私にはあなたがしなければならないのは、そのエントリーを削除することだけで、エラーはないということです。 –

答えて

2

あなたのサンプルは私のために働きます.x.MyClassをx.MyClassXに変更するとエラーが発生しますが、このサンプルは成功します。どのリリースを使用していますか? http://closure-compiler.appspot.com

// ==ClosureCompiler== 
// @compilation_level ADVANCED_OPTIMIZATIONS 
// @output_file_name default.js 
// @warning_level VERBOSE 
// ==/ClosureCompiler== 

var x = {}; 

/** 
* @constructor 
* ??? 
*/ 
x.MyClass = function() { 

}; 

x.MyClass.prototype = { 

    hello: "Hello World", 
    /** 
    * @return {x.MyClass} 
    */ 
    y: function() { 
     console.log(this.hello); 
     return this; 
    } 
}; 
関連する問題