Определение класса как типа с помощью Google Closure - PullRequest
1 голос
/ 11 июля 2011

Если у меня есть такой код:

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 не определенного типа. Как я могу сделать это определенного типа?

1 Ответ

2 голосов
/ 12 июля 2011

Ваш образец работает для меня, изменение 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;
   }
};
...